1865 lines
66 KiB
C
1865 lines
66 KiB
C
/* Generated by Nim Compiler v1.9.0 */
|
|
#define NIM_INTBITS 64
|
|
|
|
#include "nimbase.h"
|
|
#include <string.h>
|
|
#undef LANGUAGE_C
|
|
#undef MIPSEB
|
|
#undef MIPSEL
|
|
#undef PPC
|
|
#undef R3000
|
|
#undef R4000
|
|
#undef i386
|
|
#undef linux
|
|
#undef mips
|
|
#undef near
|
|
#undef far
|
|
#undef powerpc
|
|
#undef unix
|
|
#define nimfr_(x, y)
|
|
#define nimln_(x, y)
|
|
typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
|
|
typedef struct NimStrPayload NimStrPayload;
|
|
typedef struct NimStringV2 NimStringV2;
|
|
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
|
|
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
|
|
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
|
|
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
|
|
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
|
|
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
|
|
typedef struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ;
|
|
typedef struct RootObj RootObj;
|
|
typedef struct TNimTypeV2 TNimTypeV2;
|
|
typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw;
|
|
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
|
|
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
|
|
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
|
|
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content;
|
|
typedef struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg;
|
|
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
|
|
struct NimStrPayload {
|
|
NI cap;
|
|
NIM_CHAR data[SEQ_DECL_SIZE];
|
|
};
|
|
struct NimStringV2 {
|
|
NI len;
|
|
NimStrPayload* p;
|
|
};
|
|
typedef NIM_BOOL tyArray__zl3qUQvo0CT9bJi9b5H7mRkw[65];
|
|
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
|
|
NU16 line;
|
|
NI16 col;
|
|
NI32 fileIndex;
|
|
};
|
|
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;
|
|
};
|
|
};
|
|
typedef NU8 tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ;
|
|
typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
|
|
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 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 tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg;
|
|
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_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
|
|
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
|
|
typedef NU8 tyEnum_TDistinctCompare__H0D0zbMLh4bchAD4N9bLm5A;
|
|
typedef NU8 tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w;
|
|
typedef NU8 tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ;
|
|
typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
|
|
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
|
|
typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw;
|
|
typedef NU16 tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA;
|
|
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
|
|
NimStringV2 Field0;
|
|
NI Field1;
|
|
NI Field2;
|
|
};
|
|
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
|
|
NI id;
|
|
NimStringV2 s;
|
|
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
|
|
NI h;
|
|
};
|
|
typedef NU8 tyEnum_TAliasRequest__19anJwPpgb66lTqx4j4CB3g;
|
|
|
|
|
|
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
|
|
#define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
|
|
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
static N_INLINE(NIM_BOOL, isAtom__ast_6204)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg, isAssignable__parampatterns_349)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
static N_INLINE(NIM_BOOL, dontInlineConstant__trees_427)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cnst);
|
|
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, astdef__ast_4072)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipTypes__ast_4803)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kinds);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_2855)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* x, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* y, tyEnum_TDistinctCompare__H0D0zbMLh4bchAD4N9bLm5A cmp, tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w flags);
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg, getMagic__trees_144)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* op);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ, checkForSideEffects__parampatterns_224)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
|
|
static N_INLINE(NIM_BOOL, isRoutine__ast_6105)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
|
|
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, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src);
|
|
N_NIMCALL(NimStringV2, rawNewString)(NI cap);
|
|
static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c);
|
|
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen);
|
|
N_LIB_PRIVATE N_NIMCALL(void, compileConstraints__parampatterns_70)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* p, NimStringV2* result, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf);
|
|
N_LIB_PRIVATE N_NIMCALL(void, patternError__parampatterns_38)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf);
|
|
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);
|
|
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(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(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_136)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* src);
|
|
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b);
|
|
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size);
|
|
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
|
|
static N_INLINE(void, add__parampatterns_41)(NimStringV2* code, tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ op);
|
|
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuNormalize)(NimStringV2 s);
|
|
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringV2 s);
|
|
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s);
|
|
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s);
|
|
static N_INLINE(NimStringV2, toFileLineCol__msgs_666)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info);
|
|
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(NI, nsuCmpIgnoreStyle)(NimStringV2 a, NimStringV2 b);
|
|
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toHumanStr__ast_6611)(tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind);
|
|
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_192)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ e);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
|
|
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__IfESpe2yD3DScypV9a7z8Mg_2 = {
|
|
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00}
|
|
;
|
|
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__IfESpe2yD3DScypV9a7z8Mg_3 = {
|
|
0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
|
|
0x00}
|
|
;
|
|
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__IfESpe2yD3DScypV9a7z8Mg_4 = {
|
|
0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
|
|
0x00}
|
|
;
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[15+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_5 = { 15 | NIM_STRLIT_FLAG, "illformed AST: " };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_6 = {15, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_5};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[43+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_8 = { 43 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/parampatterns.nim" };
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[1+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_9 = { 1 | NIM_STRLIT_FLAG, "|" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_10 = {1, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_9};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[1+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_11 = { 1 | NIM_STRLIT_FLAG, "&" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_12 = {1, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_11};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[1+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_13 = { 1 | NIM_STRLIT_FLAG, "~" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_14 = {1, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_13};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[4+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_15 = { 4 | NIM_STRLIT_FLAG, "atom" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_16 = {4, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_15};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[3+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_17 = { 3 | NIM_STRLIT_FLAG, "lit" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_18 = {3, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_17};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[3+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_19 = { 3 | NIM_STRLIT_FLAG, "sym" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_20 = {3, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_19};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[5+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_21 = { 5 | NIM_STRLIT_FLAG, "ident" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_22 = {5, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_21};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[4+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_23 = { 4 | NIM_STRLIT_FLAG, "call" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_24 = {4, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_23};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[5+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_25 = { 5 | NIM_STRLIT_FLAG, "alias" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_26 = {5, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_25};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[7+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_27 = { 7 | NIM_STRLIT_FLAG, "noalias" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_28 = {7, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_27};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[6+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_29 = { 6 | NIM_STRLIT_FLAG, "lvalue" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_30 = {6, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_29};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[5+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_31 = { 5 | NIM_STRLIT_FLAG, "local" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_32 = {5, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_31};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[10+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_33 = { 10 | NIM_STRLIT_FLAG, "sideeffect" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_34 = {10, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_33};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[12+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_35 = { 12 | NIM_STRLIT_FLAG, "nosideeffect" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_36 = {12, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_35};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[1+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_37 = { 1 | NIM_STRLIT_FLAG, "(" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_38 = {1, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_37};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[2+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_39 = { 2 | NIM_STRLIT_FLAG, ", " };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_40 = {2, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_39};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[1+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_41 = { 1 | NIM_STRLIT_FLAG, ")" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_42 = {1, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_41};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[29+1];
|
|
} TM__IfESpe2yD3DScypV9a7z8Mg_45 = { 29 | NIM_STRLIT_FLAG, "parameter pattern too complex" };
|
|
static const NimStringV2 TM__IfESpe2yD3DScypV9a7z8Mg_46 = {29, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_45};
|
|
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__IfESpe2yD3DScypV9a7z8Mg_48 = {
|
|
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
|
|
0x00}
|
|
;
|
|
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__IfESpe2yD3DScypV9a7z8Mg_7 = {{43, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_8},
|
|
((NI)46),
|
|
((NI)12)}
|
|
;
|
|
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__IfESpe2yD3DScypV9a7z8Mg_43 = {{43, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_8},
|
|
((NI)101),
|
|
((NI)6)}
|
|
;
|
|
extern NIM_CONST tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg unknownLineInfo__lineinfos_338;
|
|
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__IfESpe2yD3DScypV9a7z8Mg_44 = {{43, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_8},
|
|
((NI)108),
|
|
((NI)6)}
|
|
;
|
|
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__IfESpe2yD3DScypV9a7z8Mg_47 = {{43, (NimStrPayload*)&TM__IfESpe2yD3DScypV9a7z8Mg_8},
|
|
((NI)128),
|
|
((NI)19)}
|
|
;
|
|
extern NIM_BOOL nimInErrorMode__system_3980;
|
|
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, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NI result;
|
|
NI T1_;
|
|
result = (NI)0;
|
|
T1_ = (*n)._kind_6.sons.len;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
|
|
NIM_BOOL* result;
|
|
result = (NIM_BOOL*)0;
|
|
result = (&nimInErrorMode__system_3980);
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, dontInlineConstant__trees_427)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cnst) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL T1_;
|
|
NIM_BOOL T2_;
|
|
NI T5_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (NIM_BOOL)0;
|
|
T2_ = (NIM_BOOL)0;
|
|
T2_ = !(((*orig).kind == (*cnst).kind));
|
|
if (!(T2_)) goto LA3_;
|
|
T2_ = ((*cnst).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39) || (*cnst).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37) || (*cnst).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160) || (*cnst).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41) || (*cnst).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38));
|
|
LA3_: ;
|
|
T1_ = T2_;
|
|
if (!(T1_)) goto LA4_;
|
|
T5_ = (NI)0;
|
|
T5_ = len__ast_3325(cnst);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T1_ = (((*cnst).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38)) < T5_);
|
|
LA4_: ;
|
|
result = T1_;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg, isAssignable__parampatterns_349)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg result;
|
|
NIM_BOOL oldNimErrFin48_;
|
|
NIM_BOOL oldNimErrFin68_;
|
|
NIM_BOOL oldNimErrFin80_;
|
|
NIM_BOOL oldNimErrFin124_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0);
|
|
switch ((*n).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1):
|
|
{
|
|
{
|
|
NIM_BOOL T4_;
|
|
T4_ = (NIM_BOOL)0;
|
|
T4_ = !(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
|
|
if (!(T4_)) goto LA5_;
|
|
T4_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23));
|
|
LA5_: ;
|
|
if (!T4_) goto LA6_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
LA6_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
colontmpD_ = NIM_NIL;
|
|
{
|
|
tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg colontmpD__2;
|
|
tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg colontmpD__3;
|
|
if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3))) goto LA11_;
|
|
colontmpD__2 = (tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0;
|
|
colontmpD__3 = (tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0;
|
|
{
|
|
if (!((*(*(*n)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*(*(*n)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46))) goto LA15_;
|
|
colontmpD__2 = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
result = colontmpD__2;
|
|
}
|
|
goto LA13_;
|
|
LA15_: ;
|
|
{
|
|
colontmpD__3 = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)4);
|
|
result = colontmpD__3;
|
|
}
|
|
LA13_: ;
|
|
}
|
|
goto LA9_;
|
|
LA11_: ;
|
|
{
|
|
NIM_BOOL T19_;
|
|
T19_ = (NIM_BOOL)0;
|
|
T19_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)10));
|
|
if (!(T19_)) goto LA20_;
|
|
colontmpD_ = astdef__ast_4072((*n)._kind_4.sym);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T19_ = dontInlineConstant__trees_427(n, colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
LA20_: ;
|
|
if (!T19_) goto LA21_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)4);
|
|
}
|
|
goto LA9_;
|
|
LA21_: ;
|
|
{
|
|
if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21))) goto LA24_;
|
|
{
|
|
if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21))) goto LA28_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)4);
|
|
}
|
|
goto LA26_;
|
|
LA28_: ;
|
|
{
|
|
{
|
|
NIM_BOOL T33_;
|
|
NIM_BOOL T34_;
|
|
T33_ = (NIM_BOOL)0;
|
|
T34_ = (NIM_BOOL)0;
|
|
T34_ = !((owner == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
|
|
if (!(T34_)) goto LA35_;
|
|
T34_ = (owner == (*(*n)._kind_4.sym).owner);
|
|
LA35_: ;
|
|
T33_ = T34_;
|
|
if (!(T33_)) goto LA36_;
|
|
T33_ = !((((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0));
|
|
LA36_: ;
|
|
if (!T33_) goto LA37_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)2);
|
|
}
|
|
goto LA31_;
|
|
LA37_: ;
|
|
{
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
LA31_: ;
|
|
}
|
|
LA26_: ;
|
|
}
|
|
goto LA9_;
|
|
LA24_: ;
|
|
{
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
|
|
if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7))) goto LA41_;
|
|
t = NIM_NIL;
|
|
t = skipTypes__ast_4803((*(*n)._kind_4.sym).typ, TM__IfESpe2yD3DScypV9a7z8Mg_2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
if (!((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA45_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)6);
|
|
}
|
|
LA45_: ;
|
|
eqdestroy___ast_3543(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA9_;
|
|
LA41_: ;
|
|
LA9_: ;
|
|
eqdestroy___ast_3454(&colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
|
|
{
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_2;
|
|
t_2 = NIM_NIL;
|
|
t_2 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__IfESpe2yD3DScypV9a7z8Mg_3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
|
|
{
|
|
if (!((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46) || (*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22))) goto LA51_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
goto LA49_;
|
|
LA51_: ;
|
|
{
|
|
if (!((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47))) goto LA54_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)4);
|
|
}
|
|
goto LA49_;
|
|
LA54_: ;
|
|
{
|
|
result = isAssignable__parampatterns_349(owner, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
|
|
}
|
|
LA49_: ;
|
|
{
|
|
NIM_BOOL T59_;
|
|
NIM_BOOL T60_;
|
|
T59_ = (NIM_BOOL)0;
|
|
T60_ = (NIM_BOOL)0;
|
|
T60_ = !((result == ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0)));
|
|
if (!(T60_)) goto LA61_;
|
|
T60_ = ((*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
LA61_: ;
|
|
T59_ = T60_;
|
|
if (!(T59_)) goto LA62_;
|
|
T59_ = (((*(*(*n)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)20)))&63U)))!=0);
|
|
LA62_: ;
|
|
if (!T59_) goto LA63_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)3);
|
|
}
|
|
LA63_: ;
|
|
{
|
|
LA48_:;
|
|
}
|
|
{
|
|
oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3543(&t_2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin48_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
|
|
{
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_3;
|
|
t_3 = NIM_NIL;
|
|
t_3 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__IfESpe2yD3DScypV9a7z8Mg_3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
|
|
{
|
|
if (!((*t_3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*t_3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46) || (*t_3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*t_3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22))) goto LA71_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
goto LA69_;
|
|
LA71_: ;
|
|
{
|
|
if (!((*t_3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47))) goto LA74_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)4);
|
|
}
|
|
goto LA69_;
|
|
LA74_: ;
|
|
{
|
|
result = isAssignable__parampatterns_349(owner, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
|
|
}
|
|
LA69_: ;
|
|
{
|
|
LA68_:;
|
|
}
|
|
{
|
|
oldNimErrFin68_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3543(&t_3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin68_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
|
|
{
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4;
|
|
colontmpD__4 = NIM_NIL;
|
|
{
|
|
colontmpD__4 = skipTypes__ast_4803((*n).typ, TM__IfESpe2yD3DScypV9a7z8Mg_4);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
|
|
if (!((*colontmpD__4).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27) || (*colontmpD__4).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18) || (*colontmpD__4).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17))) goto LA83_;
|
|
result = isAssignable__parampatterns_349(owner, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
|
|
}
|
|
goto LA81_;
|
|
LA83_: ;
|
|
{
|
|
tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w T86_;
|
|
NIM_BOOL T87_;
|
|
T86_ = 0;
|
|
T87_ = (NIM_BOOL)0;
|
|
T87_ = compareTypes__types_2855((*n).typ, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ, ((tyEnum_TDistinctCompare__H0D0zbMLh4bchAD4N9bLm5A)1), T86_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
|
|
if (!T87_) goto LA88_;
|
|
result = isAssignable__parampatterns_349(owner, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
|
|
}
|
|
goto LA81_;
|
|
LA88_: ;
|
|
LA81_: ;
|
|
{
|
|
LA80_:;
|
|
}
|
|
{
|
|
oldNimErrFin80_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3543(&colontmpD__4);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin80_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n0;
|
|
n0 = NIM_NIL;
|
|
n0 = (*n)._kind_6.sons.p->data[((NI)0)];
|
|
{
|
|
if (!((*(*n0).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47))) goto LA95_;
|
|
{
|
|
NIM_BOOL T99_;
|
|
T99_ = (NIM_BOOL)0;
|
|
T99_ = ((*n0).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
if (!(T99_)) goto LA100_;
|
|
T99_ = ((*(*n0)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11));
|
|
LA100_: ;
|
|
if (!T99_) goto LA101_;
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
goto LA97_;
|
|
LA101_: ;
|
|
{
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)5);
|
|
}
|
|
LA97_: ;
|
|
}
|
|
goto LA93_;
|
|
LA95_: ;
|
|
{
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
LA93_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64):
|
|
{
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
|
|
{
|
|
result = isAssignable__parampatterns_349(owner, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
|
|
{
|
|
{
|
|
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg T110_;
|
|
T110_ = (tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0;
|
|
T110_ = getMagic__trees_144(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!(T110_ == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)5) || T110_ == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)126))) goto LA111_;
|
|
result = isAssignable__parampatterns_349(owner, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA108_;
|
|
LA111_: ;
|
|
{
|
|
if (!!(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA114_;
|
|
switch ((*(*n).typ).kind) {
|
|
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23):
|
|
{
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47):
|
|
{
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)5);
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
goto LA108_;
|
|
LA114_: ;
|
|
LA108_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
|
|
{
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
|
|
if (!!(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA122_;
|
|
colontmpD__5 = NIM_NIL;
|
|
colontmpD__5 = lastSon__ast_6268(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
|
|
result = isAssignable__parampatterns_349(owner, colontmpD__5);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
|
|
{
|
|
LA124_:;
|
|
}
|
|
{
|
|
oldNimErrFin124_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD__5);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin124_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA122_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)143):
|
|
{
|
|
result = ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1);
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, isRoutine__ast_6105)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
|
|
NIM_BOOL result;
|
|
result = (NIM_BOOL)0;
|
|
result = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16));
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ, checkForSideEffects__parampatterns_224)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ result;
|
|
NIM_BOOL oldNimErrFin2_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)0;
|
|
switch ((*n).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* op;
|
|
op = NIM_NIL;
|
|
eqcopy___ast_3457(&op, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
{
|
|
NIM_BOOL T5_;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
|
|
T5_ = (NIM_BOOL)0;
|
|
T5_ = ((*op).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
if (!(T5_)) goto LA6_;
|
|
T5_ = isRoutine__ast_6105((*op)._kind_4.sym);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
LA6_: ;
|
|
if (!T5_) goto LA7_;
|
|
s = NIM_NIL;
|
|
s = (*op)._kind_4.sym;
|
|
{
|
|
if (!(((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)13)))&63U)))!=0)) goto LA11_;
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)1);
|
|
eqdestroy___ast_3454(&op);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
goto LA9_;
|
|
LA11_: ;
|
|
{
|
|
if (!(((*(*op).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)1)))&63U)))!=0)) goto LA14_;
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)2);
|
|
}
|
|
goto LA9_;
|
|
LA14_: ;
|
|
{
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)1);
|
|
}
|
|
LA9_: ;
|
|
}
|
|
goto LA3_;
|
|
LA7_: ;
|
|
{
|
|
if (!(((*(*op).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)1)))&63U)))!=0)) goto LA18_;
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)2);
|
|
}
|
|
goto LA3_;
|
|
LA18_: ;
|
|
{
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)1);
|
|
eqdestroy___ast_3454(&op);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ ret;
|
|
if (!(i_2 < colontmp_)) goto LA23 ;
|
|
i = i_2;
|
|
ret = checkForSideEffects__parampatterns_224((*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
{
|
|
if (!(ret == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)1))) goto LA26_;
|
|
result = ret;
|
|
eqdestroy___ast_3454(&op);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
goto LA24_;
|
|
LA26_: ;
|
|
{
|
|
NIM_BOOL T29_;
|
|
T29_ = (NIM_BOOL)0;
|
|
T29_ = (ret == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)0));
|
|
if (!(T29_)) goto LA30_;
|
|
T29_ = (result == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)2));
|
|
LA30_: ;
|
|
if (!T29_) goto LA31_;
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)0);
|
|
}
|
|
goto LA24_;
|
|
LA31_: ;
|
|
LA24_: ;
|
|
i_2 += ((NI)1);
|
|
} LA23: ;
|
|
}
|
|
}
|
|
{
|
|
LA2_:;
|
|
}
|
|
{
|
|
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&op);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin2_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
|
|
{
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)2);
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)2);
|
|
{
|
|
NI i_3;
|
|
NI colontmp__2;
|
|
NI i_4;
|
|
i_3 = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
colontmp__2 = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_4 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ ret_2;
|
|
if (!(i_4 < colontmp__2)) goto LA39 ;
|
|
i_3 = i_4;
|
|
ret_2 = checkForSideEffects__parampatterns_224((*n)._kind_6.sons.p->data[i_3]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
if (!(ret_2 == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)1))) goto LA42_;
|
|
result = ret_2;
|
|
goto BeforeRet_;
|
|
}
|
|
goto LA40_;
|
|
LA42_: ;
|
|
{
|
|
NIM_BOOL T45_;
|
|
T45_ = (NIM_BOOL)0;
|
|
T45_ = (ret_2 == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)0));
|
|
if (!(T45_)) goto LA46_;
|
|
T45_ = (result == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)2));
|
|
LA46_: ;
|
|
if (!T45_) goto LA47_;
|
|
result = ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)0);
|
|
}
|
|
goto LA40_;
|
|
LA47_: ;
|
|
LA40_: ;
|
|
i_4 += ((NI)1);
|
|
} LA39: ;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchNodeKinds__parampatterns_510)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
NimStringV2 code;
|
|
tyArray__zl3qUQvo0CT9bJi9b5H7mRkw stack;
|
|
NI sp;
|
|
NI pc;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
code.len = 0; code.p = NIM_NIL;
|
|
stack[(((NI)0))- 0] = NIM_TRUE;
|
|
sp = ((NI)1);
|
|
code = (*p)._kind_3.strVal;
|
|
pc = ((NI)1);
|
|
{
|
|
while (1) {
|
|
switch (((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ) (((NU8)(code.p->data[pc]))))) {
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)1):
|
|
{
|
|
goto LA1;
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)2):
|
|
{
|
|
NIM_BOOL T5_;
|
|
T5_ = (NIM_BOOL)0;
|
|
T5_ = stack[((NI)(sp - ((NI)1)))- 0];
|
|
if (T5_) goto LA6_;
|
|
T5_ = stack[((NI)(sp - ((NI)2)))- 0];
|
|
LA6_: ;
|
|
stack[((NI)(sp - ((NI)2)))- 0] = T5_;
|
|
sp -= ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)3):
|
|
{
|
|
NIM_BOOL T8_;
|
|
T8_ = (NIM_BOOL)0;
|
|
T8_ = stack[((NI)(sp - ((NI)1)))- 0];
|
|
if (!(T8_)) goto LA9_;
|
|
T8_ = stack[((NI)(sp - ((NI)2)))- 0];
|
|
LA9_: ;
|
|
stack[((NI)(sp - ((NI)2)))- 0] = T8_;
|
|
sp -= ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)4):
|
|
{
|
|
stack[((NI)(sp - ((NI)1)))- 0] = !(stack[((NI)(sp - ((NI)1)))- 0]);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)5):
|
|
{
|
|
stack[(sp)- 0] = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)6):
|
|
{
|
|
NIM_BOOL T13_;
|
|
T13_ = (NIM_BOOL)0;
|
|
T13_ = isAtom__ast_6204(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
stack[(sp)- 0] = T13_;
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)7):
|
|
{
|
|
stack[(sp)- 0] = ((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)8):
|
|
{
|
|
stack[(sp)- 0] = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)9):
|
|
{
|
|
stack[(sp)- 0] = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)10):
|
|
{
|
|
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
|
|
NIM_BOOL T18_;
|
|
kind = ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ) (((NU8)(code.p->data[(NI)(pc + ((NI)1))]))));
|
|
T18_ = (NIM_BOOL)0;
|
|
T18_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
if (!(T18_)) goto LA19_;
|
|
T18_ = ((*(*n)._kind_4.sym).kind == kind);
|
|
LA19_: ;
|
|
stack[(sp)- 0] = T18_;
|
|
sp += ((NI)1);
|
|
pc += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)11):
|
|
{
|
|
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind_2;
|
|
kind_2 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ) (((NU8)(code.p->data[(NI)(pc + ((NI)1))]))));
|
|
stack[(sp)- 0] = ((*n).kind == kind_2);
|
|
sp += ((NI)1);
|
|
pc += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)12):
|
|
{
|
|
tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg T22_;
|
|
T22_ = (tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0;
|
|
T22_ = isAssignable__parampatterns_349(((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL), n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
stack[(sp)- 0] = (T22_ == ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1) || T22_ == ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)2));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)13):
|
|
{
|
|
tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg T24_;
|
|
T24_ = (tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0;
|
|
T24_ = isAssignable__parampatterns_349(((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL), n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
stack[(sp)- 0] = (T24_ == ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)2));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)14):
|
|
{
|
|
tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ T26_;
|
|
T26_ = (tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)0;
|
|
T26_ = checkForSideEffects__parampatterns_224(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
stack[(sp)- 0] = (T26_ == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)1));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
case ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)15):
|
|
{
|
|
tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ T28_;
|
|
T28_ = (tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)0;
|
|
T28_ = checkForSideEffects__parampatterns_224(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
stack[(sp)- 0] = !((T28_ == ((tyEnum_TSideEffectAnalysis__JRXtwiNW9cNSWh30D1cHhaQ)1)));
|
|
sp += ((NI)1);
|
|
}
|
|
break;
|
|
}
|
|
pc += ((NI)1);
|
|
}
|
|
} LA1: ;
|
|
result = stack[((NI)(sp - ((NI)1)))- 0];
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c) {
|
|
prepareAdd(s, ((NI)1));
|
|
(*(*s).p).data[(*s).len] = c;
|
|
(*(*s).p).data[(NI)((*s).len + ((NI)1))] = 0;
|
|
(*s).len += ((NI)1);
|
|
}
|
|
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_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, patternError__parampatterns_38)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf) {
|
|
NimStringV2 colontmpD_;
|
|
NimStringV2 colontmpD__2;
|
|
NimStringV2 T2_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
|
|
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
|
|
T2_.len = 0; T2_.p = NIM_NIL;
|
|
colontmpD_ = renderTree__renderer_50(n, 4);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
T2_ = rawNewString(colontmpD_.len + 15);
|
|
appendString((&T2_), TM__IfESpe2yD3DScypV9a7z8Mg_6);
|
|
appendString((&T2_), colontmpD_);
|
|
colontmpD__2 = T2_;
|
|
liMessage__msgs_1172(conf, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__IfESpe2yD3DScypV9a7z8Mg_7), NIM_FALSE);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
eqdestroy___stdZassertions_13((&colontmpD__2));
|
|
eqdestroy___stdZassertions_13((&colontmpD_));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
|
|
int result;
|
|
result = (int)0;
|
|
result = memcmp(a, b, ((size_t) (size)));
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) {
|
|
NIM_BOOL result;
|
|
int T1_;
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (int)0;
|
|
T1_ = nimCmpMem(a, b, size);
|
|
result = (T1_ == ((NI32)0));
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) {
|
|
NIM_BOOL result;
|
|
NI alen;
|
|
NI blen;
|
|
{ result = (NIM_BOOL)0;
|
|
alen = a.len;
|
|
blen = b.len;
|
|
{
|
|
if (!(alen == blen)) goto LA3_;
|
|
{
|
|
if (!(alen == ((NI)0))) goto LA7_;
|
|
result = NIM_TRUE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA7_: ;
|
|
result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen)));
|
|
goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
static N_INLINE(void, add__parampatterns_41)(NimStringV2* code, tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ op) {
|
|
nimAddCharV1((&(*code)), ((NIM_CHAR) (((NI) (op)))));
|
|
}
|
|
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) {
|
|
{
|
|
NIM_BOOL T3_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL)));
|
|
if (!(T3_)) goto LA4_;
|
|
T3_ = ((NI)((*(*s).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
|
|
LA4_: ;
|
|
if (!T3_) goto LA5_;
|
|
nimPrepareStrMutationImpl__system_2301(s);
|
|
}
|
|
LA5_: ;
|
|
}
|
|
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__IfESpe2yD3DScypV9a7z8Mg_38);
|
|
addInt__stdZprivateZdigitsutils_198((&result), (*info).Field1);
|
|
{
|
|
if (!(((NI)0) < (NI)((*info).Field2 + ((NI)1)))) goto LA7_;
|
|
prepareAdd((&result), 2);
|
|
appendString((&result), TM__IfESpe2yD3DScypV9a7z8Mg_40);
|
|
addInt__stdZprivateZdigitsutils_198((&result), (NI)((*info).Field2 + ((NI)1)));
|
|
}
|
|
LA7_: ;
|
|
prepareAdd((&result), 1);
|
|
appendString((&result), TM__IfESpe2yD3DScypV9a7z8Mg_42);
|
|
}
|
|
LA3_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, compileConstraints__parampatterns_70)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* p, NimStringV2* result, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf) {
|
|
NIM_BOOL oldNimErrFin2_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
switch ((*p).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
|
|
{
|
|
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* op;
|
|
op = NIM_NIL;
|
|
{
|
|
if (!!(((*(*p)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2)))) goto LA5_;
|
|
patternError__parampatterns_38((*p)._kind_6.sons.p->data[((NI)0)], conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
eqdestroy___idents_133(&op);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA5_: ;
|
|
eqcopy___idents_136(&op, (*(*p)._kind_6.sons.p->data[((NI)0)])._kind_5.ident);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
{
|
|
NI T9_;
|
|
T9_ = (NI)0;
|
|
T9_ = len__ast_3325(p);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
if (!(T9_ == ((NI)3))) goto LA10_;
|
|
{
|
|
NIM_BOOL T14_;
|
|
T14_ = (NIM_BOOL)0;
|
|
T14_ = eqStrings((*op).s, TM__IfESpe2yD3DScypV9a7z8Mg_10);
|
|
if (T14_) goto LA15_;
|
|
T14_ = ((*op).id == ((NI)47));
|
|
LA15_: ;
|
|
if (!T14_) goto LA16_;
|
|
compileConstraints__parampatterns_70((*p)._kind_6.sons.p->data[((NI)1)], result, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
compileConstraints__parampatterns_70((*p)._kind_6.sons.p->data[((NI)2)], result, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)2));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
}
|
|
goto LA12_;
|
|
LA16_: ;
|
|
{
|
|
NIM_BOOL T19_;
|
|
T19_ = (NIM_BOOL)0;
|
|
T19_ = eqStrings((*op).s, TM__IfESpe2yD3DScypV9a7z8Mg_12);
|
|
if (T19_) goto LA20_;
|
|
T19_ = ((*op).id == ((NI)2));
|
|
LA20_: ;
|
|
if (!T19_) goto LA21_;
|
|
compileConstraints__parampatterns_70((*p)._kind_6.sons.p->data[((NI)1)], result, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
compileConstraints__parampatterns_70((*p)._kind_6.sons.p->data[((NI)2)], result, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)3));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
}
|
|
goto LA12_;
|
|
LA21_: ;
|
|
{
|
|
patternError__parampatterns_38(p, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
}
|
|
LA12_: ;
|
|
}
|
|
goto LA7_;
|
|
LA10_: ;
|
|
{
|
|
NIM_BOOL T25_;
|
|
NI T26_;
|
|
NIM_BOOL T28_;
|
|
T25_ = (NIM_BOOL)0;
|
|
T26_ = (NI)0;
|
|
T26_ = len__ast_3325(p);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
T25_ = (T26_ == ((NI)2));
|
|
if (!(T25_)) goto LA27_;
|
|
T28_ = (NIM_BOOL)0;
|
|
T28_ = eqStrings((*op).s, TM__IfESpe2yD3DScypV9a7z8Mg_14);
|
|
if (T28_) goto LA29_;
|
|
T28_ = ((*op).id == ((NI)43));
|
|
LA29_: ;
|
|
T25_ = T28_;
|
|
LA27_: ;
|
|
if (!T25_) goto LA30_;
|
|
compileConstraints__parampatterns_70((*p)._kind_6.sons.p->data[((NI)1)], result, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)4));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
}
|
|
goto LA7_;
|
|
LA30_: ;
|
|
{
|
|
patternError__parampatterns_38(p, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
}
|
|
LA7_: ;
|
|
{
|
|
LA2_:;
|
|
}
|
|
{
|
|
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___idents_133(&op);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin2_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)53):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37):
|
|
{
|
|
{
|
|
NI T38_;
|
|
T38_ = (NI)0;
|
|
T38_ = len__ast_3325(p);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!(T38_ == ((NI)1))) goto LA39_;
|
|
compileConstraints__parampatterns_70((*p)._kind_6.sons.p->data[((NI)0)], result, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA36_;
|
|
LA39_: ;
|
|
{
|
|
patternError__parampatterns_38(p, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA36_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
|
|
{
|
|
NimStringV2 spec;
|
|
spec.len = 0; spec.p = NIM_NIL;
|
|
spec = nsuNormalize((*(*p)._kind_5.ident).s);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
switch (hashString(spec) & 15) {
|
|
case 2:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_36)) goto LA54_;
|
|
break;
|
|
case 4:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_20)) goto LA46_;
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_30)) goto LA51_;
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_34)) goto LA53_;
|
|
break;
|
|
case 6:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_22)) goto LA47_;
|
|
break;
|
|
case 10:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_28)) goto LA50_;
|
|
break;
|
|
case 11:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_16)) goto LA44_;
|
|
break;
|
|
case 12:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_18)) goto LA45_;
|
|
break;
|
|
case 13:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_24)) goto LA48_;
|
|
break;
|
|
case 14:
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_26)) goto LA49_;
|
|
if (eqStrings(spec, TM__IfESpe2yD3DScypV9a7z8Mg_32)) goto LA52_;
|
|
break;
|
|
}
|
|
goto LA55_;
|
|
LA44_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)6));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA45_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)7));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA46_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)5));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA47_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)8));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA48_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)9));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA49_: ;
|
|
{
|
|
nimPrepareStrMutationV2((&(*result)));
|
|
(*result).p->data[((NI)0)] = 2;
|
|
}
|
|
goto LA56_;
|
|
LA50_: ;
|
|
{
|
|
nimPrepareStrMutationV2((&(*result)));
|
|
(*result).p->data[((NI)0)] = 3;
|
|
}
|
|
goto LA56_;
|
|
LA51_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)12));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA52_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)13));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA53_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)14));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA54_: ;
|
|
{
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)15));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
goto LA56_;
|
|
LA55_: ;
|
|
{
|
|
{
|
|
NimStringV2 argX60gensym13_;
|
|
if (!NIM_FALSE) goto LA71_;
|
|
argX60gensym13_.len = 0; argX60gensym13_.p = NIM_NIL;
|
|
argX60gensym13_ = toFileLineCol__msgs_666((&TM__IfESpe2yD3DScypV9a7z8Mg_43));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
|
|
internalErrorImpl__msgs_1510(conf, unknownLineInfo__lineinfos_338, argX60gensym13_, (&TM__IfESpe2yD3DScypV9a7z8Mg_43));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
|
|
{
|
|
LA73_:;
|
|
}
|
|
{
|
|
eqdestroy___stdZassertions_13((&argX60gensym13_));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
LA71_: ;
|
|
{
|
|
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ i;
|
|
i = (tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)0;
|
|
{
|
|
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ v;
|
|
NI res;
|
|
v = (tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)0;
|
|
res = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NimStringV2 colontmpD_;
|
|
if (!(res <= ((NI)25))) goto LA79 ;
|
|
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
|
|
v = ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ) (res));
|
|
i = v;
|
|
{
|
|
NI T83_;
|
|
colontmpD_ = toHumanStr__ast_6611(i);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
|
|
T83_ = (NI)0;
|
|
T83_ = nsuCmpIgnoreStyle(colontmpD_, spec);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
|
|
if (!(T83_ == ((NI)0))) goto LA84_;
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)10));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
|
|
nimAddCharV1((&(*result)), ((NIM_CHAR) (((NI) (i)))));
|
|
eqdestroy___stdZassertions_13((&colontmpD_));
|
|
eqdestroy___stdZassertions_13((&spec));
|
|
goto BeforeRet_;
|
|
}
|
|
LA84_: ;
|
|
res += ((NI)1);
|
|
{
|
|
LA80_:;
|
|
}
|
|
{
|
|
eqdestroy___stdZassertions_13((&colontmpD_));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
} LA79: ;
|
|
}
|
|
}
|
|
}
|
|
{
|
|
NimStringV2 argX60gensym15_;
|
|
if (!NIM_FALSE) goto LA90_;
|
|
argX60gensym15_.len = 0; argX60gensym15_.p = NIM_NIL;
|
|
argX60gensym15_ = toFileLineCol__msgs_666((&TM__IfESpe2yD3DScypV9a7z8Mg_44));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
|
|
internalErrorImpl__msgs_1510(conf, unknownLineInfo__lineinfos_338, argX60gensym15_, (&TM__IfESpe2yD3DScypV9a7z8Mg_44));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA92_;
|
|
{
|
|
LA92_:;
|
|
}
|
|
{
|
|
eqdestroy___stdZassertions_13((&argX60gensym15_));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
LA90_: ;
|
|
{
|
|
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ i_2;
|
|
i_2 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
|
|
{
|
|
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ v_2;
|
|
NI res_2;
|
|
v_2 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
|
|
res_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NimStringV2 colontmpD__2;
|
|
if (!(res_2 <= ((NI)164))) goto LA98 ;
|
|
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
|
|
v_2 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ) (res_2));
|
|
i_2 = v_2;
|
|
{
|
|
NI T102_;
|
|
colontmpD__2 = dollar___ast_192(i_2);
|
|
T102_ = (NI)0;
|
|
T102_ = nsuCmpIgnoreStyle(colontmpD__2, spec);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
|
|
if (!(T102_ == ((NI)0))) goto LA103_;
|
|
add__parampatterns_41(result, ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)11));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
|
|
nimAddCharV1((&(*result)), ((NIM_CHAR) (((NI) (i_2)))));
|
|
eqdestroy___stdZassertions_13((&colontmpD__2));
|
|
eqdestroy___stdZassertions_13((&spec));
|
|
goto BeforeRet_;
|
|
}
|
|
LA103_: ;
|
|
res_2 += ((NI)1);
|
|
{
|
|
LA99_:;
|
|
}
|
|
{
|
|
eqdestroy___stdZassertions_13((&colontmpD__2));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
} LA98: ;
|
|
}
|
|
}
|
|
}
|
|
patternError__parampatterns_38(p, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
|
|
}
|
|
LA56_: ;
|
|
{
|
|
LA43_:;
|
|
}
|
|
{
|
|
eqdestroy___stdZassertions_13((&spec));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
patternError__parampatterns_38(p, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, semNodeKindConstraints__parampatterns_191)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NI start) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NimStringV2 T1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20), (*n).info);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T1_.len = 0; T1_.p = NIM_NIL;
|
|
T1_ = rawNewString(((NI)10));
|
|
eqsink___stdZassertions_19((&(*result)._kind_3.strVal), T1_);
|
|
nimAddCharV1((&(*result)._kind_3.strVal), 1);
|
|
{
|
|
NI T4_;
|
|
T4_ = (NI)0;
|
|
T4_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!(((NI)2) <= T4_)) goto LA5_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI T8_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
T8_ = (NI)0;
|
|
T8_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
colontmp_ = ((NI) (T8_));
|
|
i_2 = start;
|
|
{
|
|
while (1) {
|
|
if (!(((NI) (i_2)) < ((NI) (colontmp_)))) goto LA10 ;
|
|
i = i_2;
|
|
compileConstraints__parampatterns_70((*n)._kind_6.sons.p->data[i], (&(*result)._kind_3.strVal), conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 += ((NI)1);
|
|
} LA10: ;
|
|
}
|
|
}
|
|
{
|
|
if (!(((NI)63) < (*result)._kind_3.strVal.len)) goto LA13_;
|
|
internalErrorImpl__msgs_1510(conf, (*n).info, TM__IfESpe2yD3DScypV9a7z8Mg_46, (&TM__IfESpe2yD3DScypV9a7z8Mg_47));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA13_: ;
|
|
}
|
|
goto LA2_;
|
|
LA5_: ;
|
|
{
|
|
patternError__parampatterns_38(n, conf);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA2_: ;
|
|
add__parampatterns_41((&(*result)._kind_3.strVal), ((tyEnum_TOpcode__yxlknmXAY63F8OhAFP9ahuQ)1));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TAliasRequest__19anJwPpgb66lTqx4j4CB3g, whichAlias__parampatterns_48)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* p) {
|
|
tyEnum_TAliasRequest__19anJwPpgb66lTqx4j4CB3g result;
|
|
result = (tyEnum_TAliasRequest__19anJwPpgb66lTqx4j4CB3g)0;
|
|
{
|
|
if (!!(((*p).constraint == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA3_;
|
|
result = ((tyEnum_TAliasRequest__19anJwPpgb66lTqx4j4CB3g) (((NU8)((*(*p).constraint)._kind_3.strVal.p->data[((NI)0)]))));
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
result = ((tyEnum_TAliasRequest__19anJwPpgb66lTqx4j4CB3g)1);
|
|
}
|
|
LA1_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, exprRoot__parampatterns_314)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL allowCalls) {
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
|
|
NIM_BOOL oldNimErrFin6_;
|
|
NIM_BOOL oldNimErrFin1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
it = NIM_NIL;
|
|
eqcopy___ast_3457(&it, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
while (1) {
|
|
switch ((*it).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
|
|
{
|
|
eqcopy___ast_4063(&result, (*it)._kind_4.sym);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
|
|
{
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
|
|
colontmpD_ = NIM_NIL;
|
|
{
|
|
colontmpD_ = skipTypes__ast_4803((*(*it)._kind_6.sons.p->data[((NI)0)]).typ, TM__IfESpe2yD3DScypV9a7z8Mg_48);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22))) goto LA9_;
|
|
eqdestroy___ast_3543(&colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
goto LA2;
|
|
}
|
|
goto LA7_;
|
|
LA9_: ;
|
|
{
|
|
eqcopy___ast_3457(&it, (*it)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
}
|
|
LA7_: ;
|
|
{
|
|
LA6_:;
|
|
}
|
|
{
|
|
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3543(&colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
*nimErr_ = oldNimErrFin6_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
|
|
{
|
|
eqcopy___ast_3457(&it, (*it)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
|
|
{
|
|
eqcopy___ast_3457(&it, (*it)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
|
|
{
|
|
{
|
|
NIM_BOOL T19_;
|
|
NI T20_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T24_;
|
|
T19_ = (NIM_BOOL)0;
|
|
T20_ = (NI)0;
|
|
T20_ = len__ast_3325(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
T19_ = (((NI)0) < T20_);
|
|
if (!(T19_)) goto LA21_;
|
|
T19_ = !(((*it).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
|
|
LA21_: ;
|
|
if (!T19_) goto LA22_;
|
|
T24_ = NIM_NIL;
|
|
T24_ = lastSon__ast_6268(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
eqsink___ast_3460(&it, T24_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
goto LA17_;
|
|
LA22_: ;
|
|
{
|
|
goto LA2;
|
|
}
|
|
LA17_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
|
|
{
|
|
{
|
|
NIM_BOOL T29_;
|
|
NIM_BOOL T30_;
|
|
NIM_BOOL T31_;
|
|
NI T35_;
|
|
T29_ = (NIM_BOOL)0;
|
|
T30_ = (NIM_BOOL)0;
|
|
T31_ = (NIM_BOOL)0;
|
|
T31_ = allowCalls;
|
|
if (!(T31_)) goto LA32_;
|
|
T31_ = !(((*it).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
|
|
LA32_: ;
|
|
T30_ = T31_;
|
|
if (!(T30_)) goto LA33_;
|
|
T30_ = ((*(*it).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*(*it).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47));
|
|
LA33_: ;
|
|
T29_ = T30_;
|
|
if (!(T29_)) goto LA34_;
|
|
T35_ = (NI)0;
|
|
T35_ = len__ast_3325(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
T29_ = (((NI)1) < T35_);
|
|
LA34_: ;
|
|
if (!T29_) goto LA36_;
|
|
eqcopy___ast_3457(&it, (*it)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
goto LA27_;
|
|
LA36_: ;
|
|
{
|
|
goto LA2;
|
|
}
|
|
LA27_: ;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
goto LA2;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
} LA2: ;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin1_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue__parampatterns_502)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg T1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)0;
|
|
T1_ = isAssignable__parampatterns_349(((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL), n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
result = (T1_ == ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1) || T1_ == ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)2) || T1_ == ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)6));
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|