PN_NIL 21 core/ast.h #define PN_AST(T, A, N, L) potion_source(P, AST_##T, A, PN_NIL, PN_NIL, N, L) PN_NIL 22 core/ast.h #define PN_AST2(T, A, B, N, L) potion_source(P, AST_##T, A, B, PN_NIL, N, L) PN_NIL 24 core/ast.h #define PN_AST_(T, A) potion_source(P, AST_##T, A, PN_NIL, PN_NIL, -1, PN_NIL) PN_NIL 25 core/ast.h #define PN_AST2_(T, A, B) potion_source(P, AST_##T, A, B, PN_NIL, -1, PN_NIL) PN_NIL 26 core/ast.h #define PN_AST3_(T, A, B, C) potion_source(P, AST_##T, A, B, C, -1, PN_NIL) PN_NIL 27 core/ast.h #define PN_OP(T, A, B) potion_source(P, T, A, B, PN_NIL, 0, PN_NIL) PN_NIL 36 core/ast.h if (endname != PN_NIL) { \ PN_NIL 40 core/ast.h if (P->unclosed == endname) { P->unclosed = PN_NIL; } \ PN_NIL 32 core/callcc.c return PN_NIL; PN_NIL 132 core/callcc.c cc->stack[3] = PN_NIL; PN_NIL 280 core/compile.c if (args != PN_NIL) { PN_NIL 339 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_NIL 349 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_NIL 371 core/compile.c if (PN_S(t,1) != PN_NIL) { PN_NIL 375 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_NIL 377 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_NIL); PN_NIL 453 core/compile.c if (lhs->a[1] != PN_NIL) { PN_NIL 564 core/compile.c int arg = (PN_S(t,1) != PN_NIL); PN_NIL 565 core/compile.c int call = (PN_S(t,2) != PN_NIL || arg); PN_NIL 676 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_NIL 679 core/compile.c if (PN_S(blk, 0) == PN_NIL) PN_NIL 680 core/compile.c blk->a[0] = PN_SRC(PN_AST(CODE, PN_NIL, blk->loc.lineno, blk->line)); PN_NIL 746 core/compile.c if (num == PN_NONE && PN_S(t,0) != PN_NIL) { PN_NIL 757 core/compile.c if (PN_S(t,2) != PN_NIL && (PN_PART(PN_S(t,2)) == AST_MSG)) { PN_NIL 765 core/compile.c PN_ASM2(PN_S(t,1) != PN_NIL || PN_S(t,2) != PN_NIL ? OP_MSG : OP_BIND, reg, breg); PN_NIL 767 core/compile.c if (t->part == AST_QUERY && PN_S(t,1) != PN_NIL) { PN_NIL 774 core/compile.c if (part1 == AST_VALUE || (part1 == AST_LIST && PN_S(t,2) == PN_NIL)) { PN_NIL 778 core/compile.c if (PN_S(t,2) != PN_NIL && (PN_PART(PN_S(t,2)) == AST_PROTO)) { PN_NIL 783 core/compile.c if (PN_S(t,1) == PN_NIL && PN_S(t,2) == PN_NIL) PN_NIL 785 core/compile.c if (PN_S(t,2) != PN_NIL && PN_PART(PN_S(t,2)) == AST_BLOCK) { PN_NIL 795 core/compile.c if (PN_S(t,1) != PN_NIL) { PN_NIL 809 core/compile.c if (PN_S(t,2) != PN_NIL) { PN_NIL 811 core/compile.c PN_BLOCK(breg, PN_S(t,2), PN_NIL); PN_NIL 844 core/compile.c if (PN_S(t,1) != PN_NIL) PN_NIL 846 core/compile.c else if (PN_S(t,2) != PN_NIL) PN_NIL 847 core/compile.c PN_ASM2(OP_LOADPN, ++breg, PN_NIL); PN_NIL 848 core/compile.c if (PN_S(t,2) != PN_NIL) PN_NIL 857 core/compile.c if (PN_S(t,0) != PN_NIL) { PN_NIL 900 core/compile.c } else { name = PN_NIL; } PN_NIL 937 core/compile.c if (t->part == AST_LIST && PN_S(t,0) != PN_NIL) { PN_NIL 1039 core/compile.c default: return PN_NIL; // TODO: error PN_NIL 1052 core/compile.c f->sig = (sig == PN_NIL ? PN_TUP0() : potion_sig_compile(P, f, sig)); PN_NIL 1054 core/compile.c f->name = PN_NIL; PN_NIL 1136 core/compile.c if (f->source == PN_NIL) f->source = up; PN_NIL 1167 core/compile.c return PN_NIL; PN_NIL 1170 core/compile.c return potion_proto_load(P, PN_NIL, h->pn, &ptr); PN_NIL 1183 core/compile.c PN str = potion_num_string(P, PN_NIL, val); \ PN_NIL 1189 core/compile.c PN cval = (PN_IS_PTR(val) ? PN_NIL : val); \ PN_NIL 1263 core/compile.c return PN_NIL; PN_NIL 1275 core/compile.c PN cl = potion_closure_new(P, (PN_F)potion_jit_proto(P, code), PN_NIL, 1); PN_NIL 1279 core/compile.c return potion_vm(P, code, P->lobby, PN_NIL, 0, NULL); PN_NIL 1288 core/compile.c code = potion_send(code, PN_compile, PN_NIL, PN_NIL); PN_NIL 62 core/file.c return PN_NIL; PN_NIL 77 core/file.c struct PNFile *file = (struct PNFile *)potion_object_new(P, PN_NIL, PN_VTABLE(PN_TFILE)); PN_NIL 79 core/file.c file->path = PN_NIL; PN_NIL 97 core/file.c return PN_NIL; PN_NIL 114 core/file.c return PN_NIL; PN_NIL 128 core/file.c if (!obj) return PN_NIL; //silent PN_NIL 170 core/file.c if (self->path != PN_NIL && fd != -1) { PN_NIL 190 core/file.c return PN_NIL; PN_NIL 205 core/file.c potion_table_put(P, PN_NIL, pe, PN_STRN(*env, key - *env), PN_NIL 189 core/internal.c return PN_NIL; // TODO: error "too many arguments" PN_NIL 239 core/internal.c if (e->excerpt == PN_NIL) PN_NIL 32 core/lick.c return PN_NIL; PN_NIL 48 core/lick.c return PN_NIL; PN_NIL 57 core/lick.c if (((struct PNLick *)self)->inner != PN_NIL) { PN_NIL 61 core/lick.c if (((struct PNLick *)self)->attr != PN_NIL) { PN_NIL 20 core/load.c PN result = PN_NIL; PN_NIL 23 core/load.c return PN_NIL; PN_NIL 28 core/load.c return PN_NIL; PN_NIL 33 core/load.c code = potion_source_load(P, PN_NIL, buf); PN_NIL 37 core/load.c PN_compile, potion_str(P, filename), PN_NIL), PN_NIL 71 core/load.c return PN_NIL; PN_NIL 80 core/load.c return PN_NIL; PN_NIL 168 core/load.c PN result = PN_NIL; PN_NIL 171 core/load.c return PN_NIL; PN_NIL 197 core/load.c PN result = PN_NIL; PN_NIL 200 core/load.c return PN_NIL; PN_NIL 26 core/objmodel.c c->sig = PN_NIL; PN_NIL 32 core/objmodel.c c->data[i] = PN_NIL; PN_NIL 45 core/objmodel.c return PN_NIL; PN_NIL 103 core/objmodel.c else if (sig == PN_NIL) PN_NIL 127 core/objmodel.c else if (sig == PN_NIL) PN_NIL 137 core/objmodel.c PN result = PN_NIL; PN_NIL 161 core/objmodel.c else if (sig == PN_NIL) PN_NIL 186 core/objmodel.c else if (sig == PN_NIL) PN_NIL 203 core/objmodel.c meta->name = PN_NIL; PN_NIL 208 core/objmodel.c meta->meta = PN_NIL; PN_NIL 215 core/objmodel.c vt->name = PN_NIL; PN_NIL 236 core/objmodel.c if (cl == PN_NIL) cl = P->call; PN_NIL 246 core/objmodel.c if (cl == PN_NIL) cl = P->callset; PN_NIL 269 core/objmodel.c potion_ivars(P, PN_NIL, self, ivars); PN_NIL 287 core/objmodel.c return PN_NIL; PN_NIL 318 core/objmodel.c if (ivars != PN_NIL) { PN_NIL 331 core/objmodel.c return PN_NIL; PN_NIL 365 core/objmodel.c cl = potion_closure_new(P, (PN_F)potion_getter_method, PN_NIL, 1); PN_NIL 403 core/objmodel.c return PN_NIL; PN_NIL 407 core/objmodel.c PN closure = PN_NIL; PN_NIL 408 core/objmodel.c PN vt = PN_NIL; PN_NIL 410 core/objmodel.c if (!PN_TYPECHECK(t)) return PN_NIL; PN_NIL 429 core/objmodel.c if (PN_IS_CLOSURE(cl) && PN_CLOSURE(cl)->sig == PN_NIL) PN_NIL 430 core/objmodel.c return PN_CLOSURE(cl)->method(P, cl, rcv, PN_NIL); PN_NIL 490 core/objmodel.c if (vt->name != PN_NIL) { PN_NIL 504 core/objmodel.c return PN_NIL; PN_NIL 523 core/objmodel.c return PN_NIL; PN_NIL 525 core/objmodel.c return PN_NIL; PN_NIL 553 core/objmodel.c return (void *)str != PN_NIL ? str : PN_NIL 562 core/objmodel.c if (!PN_TYPECHECK(t)) return PN_NIL; // TODO: error PN_NIL 584 core/objmodel.c return PN_NIL; PN_NIL 608 core/objmodel.c potion_table_put(P, PN_NIL, about, potion_str(P, "_why"), PN_NIL 611 core/objmodel.c potion_table_put(P, PN_NIL, about, potion_str(P, "minimalism"), PN_NIL 614 core/objmodel.c potion_table_put(P, PN_NIL, about, potion_str(P, "stage fright"), PN_NIL 617 core/objmodel.c potion_table_put(P, PN_NIL, about, potion_str(P, "terms of use"), PN_NIL 620 core/objmodel.c potion_table_put(P, PN_NIL, about, potion_str(P, "help"), PN_NIL 622 core/objmodel.c potion_table_put(P, PN_NIL, about, potion_str(P, "ts"), PN_NIL 624 core/objmodel.c potion_table_put(P, PN_NIL, about, potion_str(P, "summary"), PN_NIL 158 core/potion.h #define PN_TEST(v) ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL) PN_NIL 159 core/potion.h #define PN_TEST1(v) ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL \ PN_NIL 163 core/potion.h #define PN_TEST(v) ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL) PN_NIL 164 core/potion.h #define PN_TEST1(v) ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL) PN_NIL 170 core/potion.h #define PN_IS_NIL(v) ((PN)(v) == PN_NIL) PN_NIL 180 core/potion.h #define PN_IS_METACLASS(v) (((struct PNVtable *)v)->meta == PN_NIL) PN_NIL 212 core/potion.h #define PN_STR_B(x) potion_bytes_string(P, PN_NIL, x) ///<\memberof PNBytes PN_NIL 772 core/potion.h : PN_NIL; PN_NIL 30 core/string.c return PN_NIL; PN_NIL 35 core/string.c if (val == PN_NIL) { PN_NIL 48 core/string.c PN exist = PN_NIL; PN_NIL 56 core/string.c if (exist == PN_NIL) { PN_NIL 64 core/string.c PN exist = PN_NIL; PN_NIL 73 core/string.c if (exist == PN_NIL) { PN_NIL 141 core/string.c return PN_NIL; PN_NIL 361 core/string.c if (exist == PN_NIL) { PN_NIL 377 core/string.c return PN_NIL; PN_NIL 391 core/string.c return PN_NIL; PN_NIL 403 core/string.c return PN_NIL; PN_NIL 71 core/table.c return PN_NIL; PN_NIL 123 core/table.c return potion_table_put(P, PN_NIL, potion_table_cast(P, self), key, value); PN_NIL 220 core/table.c if (i >= len) return PN_NIL; PN_NIL 257 core/table.c if (PN_TUPLE_LEN(self) < 1) return PN_NIL; PN_NIL 269 core/table.c if (i > 0 && sep != PN_NIL) potion_bytes_obj_string(P, out, sep); PN_NIL 281 core/table.c if (len < 1) return PN_NIL; PN_NIL 338 core/table.c return potion_table_put(P, PN_NIL, potion_table_cast(P, self), key, value); PN_NIL 382 core/table.c return PN_NIL; PN_NIL 512 core/table.c if (cmp == PN_NIL) { // default: sort by uniq, not value PN_NIL 560 core/table.c if (cmp != PN_NIL && !PN_IS_BOOL(cmp) && !PN_IS_CLOSURE(cmp)) PN_NIL 581 core/table.c if (cmp == PN_NIL) { // default: sort by uniq, not value PN_NIL 624 core/table.c if (cmp != PN_NIL && !PN_IS_BOOL(cmp) && !PN_IS_CLOSURE(cmp)) PN_NIL 261 core/vm-x86.c X86_MOVQ(regs + argx, PN_NIL); PN_NIL 418 core/vm-x86.c X86_MOVQ(op.a, PN_NIL); PN_NIL 424 core/vm-x86.c if (!nnil) { X86_MOVQ(op.a, PN_NIL); } PN_NIL 152 core/vm.c PN ary = PN_NIL; PN_NIL 203 core/vm.c return potion_class(P, PN_NIL, self, cl); PN_NIL 369 core/vm.c return PN_NIL; PN_NIL 383 core/vm.c ast = PN_NIL; PN_NIL 403 core/vm.c code = potion_send(code, PN_compile, (PN)f, PN_NIL); PN_NIL 405 core/vm.c code = potion_vm(P, code, P->lobby, PN_NIL, f->upvalsize, upvals); PN_NIL 506 core/vm.c PN val = PN_NIL; PN_NIL 528 core/vm.c if (vargs != PN_NIL) args = PN_GET_TUPLE(vargs)->set; PN_NIL 634 core/vm.c PN attr = op.b > op.a ? reg[op.a + 1] : PN_NIL; PN_NIL 635 core/vm.c PN inner = op.b > op.a + 1 ? reg[op.b] : PN_NIL; PN_NIL 639 core/vm.c reg[op.a] = potion_obj_get(P, PN_NIL, reg[op.a], reg[op.b])) PN_NIL 641 core/vm.c potion_obj_set(P, PN_NIL, reg[op.a], reg[op.a + 1], reg[op.b])) PN_NIL 678 core/vm.c reg[op.a] = potion_def_method(P, PN_NIL, reg[op.a], reg[op.a + 1], reg[op.b])) PN_NIL 701 core/vm.c reg[op.a + 1] = potion_object_new(P, PN_NIL, reg[op.a]); PN_NIL 94 front/p2.c PN code = p2_source_load(P, PN_NIL, buf); PN_NIL 106 front/p2.c code = potion_send(code, PN_compile, potion_str(P, filename), PN_NIL); PN_NIL 111 front/p2.c code = potion_vm(P, code, P->lobby, PN_NIL, 0, NULL); PN_NIL 120 front/p2.c PN cl = potion_closure_new(P, (PN_F)potion_jit_proto(P, code), PN_NIL, 1); PN_NIL 190 front/p2.c code = potion_source_dumpbc(P, PN_NIL, code, PN_NIL); PN_NIL 193 front/p2.c potion_str(P, compile), opts ? potion_str(P, opts) : PN_NIL); PN_NIL 252 front/p2.c PN buf = PN_NIL; PN_NIL 353 front/p2.c potion_define_global(P, potion_str(P, "$P2::interactive"), PN_NIL); PN_NIL 355 front/p2.c if (buf == PN_NIL) fn = argv[i++]; PN_NIL 358 front/p2.c if (buf != PN_NIL) { PN_NIL 402 front/p2.c code = potion_send(code, PN_compile, PN_NIL, PN_NIL); PN_NIL 76 front/potion.c PN code = PN_NIL; PN_NIL 112 front/potion.c code = potion_source_load(P, PN_NIL, buf); PN_NIL 124 front/potion.c compile ? potion_str(P, compile): PN_NIL); PN_NIL 129 front/potion.c code = potion_vm(P, code, P->lobby, PN_NIL, 0, NULL); PN_NIL 139 front/potion.c PN cl = potion_closure_new(P, (PN_F)potion_jit_proto(P, code), PN_NIL, 1); PN_NIL 190 front/potion.c code = potion_source_dumpbc(P, 0, code, PN_NIL); PN_NIL 194 front/potion.c opts ? opts : PN_NIL); PN_NIL 267 front/potion.c PN buf = PN_NIL; PN_NIL 377 front/potion.c if (buf == PN_NIL) { fn = argv[i++]; PN_PUSH(args, PN_STR(fn)); } PN_NIL 381 front/potion.c if (buf != PN_NIL) { PN_NIL 382 front/potion.c potion_cmd_exec(P, buf, NULL, compile, PN_NIL); PN_NIL 55 lib/buffile.c self->path = PN_NIL; PN_NIL 70 lib/buffile.c self->path = PN_NIL; PN_NIL 112 lib/buffile.c self->path = PN_NIL; PN_NIL 137 lib/buffile.c return PN_NIL; PN_NIL 165 lib/buffile.c case PN_NIL: return PN_NIL; PN_NIL 273 lib/buffile.c if (self->path != PN_NIL && fd != -1) { PN_NIL 12 lib/readline/readline.c if (line == NULL) return PN_NIL; PN_NIL 23 syn/syntax-p5.y #define PN_AST(T, A) potion_source(P, AST_##T, A, PN_NIL, PN_NIL, G->lineno, P->line) PN_NIL 24 syn/syntax-p5.y #define PN_AST2(T, A, B) potion_source(P, AST_##T, A, B, PN_NIL, G->lineno, P->line) PN_NIL 26 syn/syntax-p5.y #define PN_OP(T, A, B) potion_source(P, T, A, B, PN_NIL, G->lineno, P->line) PN_NIL 84 syn/syntax-p5.y | '' { $$ = PN_NIL } PN_NIL 128 syn/syntax-p5.y p5-siglist = list-start args2* list-end { $$ = PN_AST(LIST, P->source); P->source = PN_NIL } PN_NIL 135 syn/syntax-p5.y PN_AST(EXPR, PN_TUP(PN_AST2(PROTO, PN_AST(LIST, PN_NIL), b)))) } PN_NIL 160 syn/syntax-p5.y (ELSE s2:block { $$ = PN_PUSH(PN_TUPIF(e), PN_AST3(MSG, PN_else, PN_NIL, s2)) } )? PN_NIL 283 syn/syntax-p5.y { PN_SRC(m)->a[1] = PN_SRC(PN_AST(LIST, PN_NIL)); $$ = PN_TUP(m) } PN_NIL 300 syn/syntax-p5.y # | '' { $$ = PN_NIL } PN_NIL 304 syn/syntax-p5.y # | m:msg t:list { $$ = PN_AST3(LICK, m, PN_NIL, t) } PN_NIL 314 syn/syntax-p5.y | '' { $$ = PN_NIL } PN_NIL 323 syn/syntax-p5.y | list-start list-end { $$ = PN_AST(LIST, PN_NIL) } PN_NIL 325 syn/syntax-p5.y | listref-start listref-end { $$ = PN_AST(LIST, PN_NIL) } PN_NIL 327 syn/syntax-p5.y | hash-start hash-end { $$ = PN_AST(LIST, PN_NIL) } PN_NIL 344 syn/syntax-p5.y immed = undef { $$ = PN_NIL } PN_NIL 429 syn/syntax-p5.y q1 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) } PN_NIL 460 syn/syntax-p5.y q2 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) } PN_NIL 564 syn/syntax-p5.y P->source = PN_NIL; PN_NIL 587 syn/syntax-p5.y PN out = PN_NIL; PN_NIL 588 syn/syntax-p5.y if (fmt == NULL) return PN_NIL; PN_NIL 615 syn/syntax-p5.y PN out = PN_NIL; PN_NIL 616 syn/syntax-p5.y if (fmt == NULL) return PN_NIL; // no signature, arg check off PN_NIL 676 syn/syntax-p5.y return l ? potion_byte_str2(G->data, nl, l) : PN_NIL; PN_NIL 19 syn/syntax.y #define PN_AST(T, A) potion_source(P, AST_##T, A, PN_NIL, PN_NIL, G->lineno, P->line) PN_NIL 20 syn/syntax.y #define PN_AST2(T, A, B) potion_source(P, AST_##T, A, B, PN_NIL, G->lineno, P->line) PN_NIL 22 syn/syntax.y #define PN_OP(T, A, B) potion_source(P, T, A, B, PN_NIL, G->lineno, P->line) PN_NIL 66 syn/syntax.y | '' { $$ = PN_NIL; } PN_NIL 146 syn/syntax.y call = (n:name { v = PN_NIL; b = PN_NIL; } (v:value | v:list)? (b:block | b:closure)? | PN_NIL 147 syn/syntax.y (v:value | v:list) { n = PN_AST(MSG, PN_NIL); b = PN_NIL; } b:block?) PN_NIL 159 syn/syntax.y | '' { $$ = PN_NIL; } PN_NIL 162 syn/syntax.y | m:msg t:list { $$ = PN_AST3(LICK, m, PN_NIL, t) } PN_NIL 185 syn/syntax.y immed = nil { $$ = PN_NIL; } PN_NIL 258 syn/syntax.y q1 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) } PN_NIL 320 syn/syntax.y q2 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) } PN_NIL 372 syn/syntax.y P->source = PN_NIL; PN_NIL 420 syn/syntax.y PN out = PN_NIL; PN_NIL 421 syn/syntax.y if (fmt == NULL) return PN_NIL; // no signature, arg check off PN_NIL 462 syn/syntax.y PN prev = PN_NIL; PN_NIL 481 syn/syntax.y return l ? potion_byte_str2(G->data, nl, l) : PN_NIL; PN_NIL 56 test/api/gc-bench.c potion_obj_set(P, PN_NIL, x, PN_left, l); PN_NIL 57 test/api/gc-bench.c potion_obj_set(P, PN_NIL, x, PN_right, r); PN_NIL 66 test/api/gc-bench.c potion_obj_set(P, PN_NIL, node, PN_left, ALLOC_NODE()); PN_NIL 71 test/api/gc-bench.c potion_obj_set(P, PN_NIL, node, PN_right, ALLOC_NODE()); PN_NIL 76 test/api/gc-bench.c gc_populate_tree(potion_obj_get(P, PN_NIL, node, PN_left), depth, PN_left, PN_right); PN_NIL 77 test/api/gc-bench.c gc_populate_tree(potion_obj_get(P, PN_NIL, node, PN_right), depth, PN_left, PN_right); PN_NIL 82 test/api/gc-bench.c if (n == PN_NIL) return depth; PN_NIL 99 test/api/gc-bench.c klass = potion_class(P, PN_NIL, P->lobby, ary); PN_NIL 23 test/api/p2-test.c CuAssert(T, "undef isn't a nil type", PN_TYPE(PN_NIL) == PN_TNIL); PN_NIL 24 test/api/p2-test.c CuAssert(T, "undef is a ref", !PN_IS_PTR(PN_NIL)); PN_NIL 26 test/api/p2-test.c PN_FALSE == potion_send(PN_NIL, potion_str(P, "defined"))); PN_NIL 82 test/api/p2-test.c PN_TUPLE_AT(tup, 0) = PN_NIL; PN_NIL 19 test/api/potion-test.c CuAssert(T, "nil isn't a nil type", PN_TYPE(PN_NIL) == PN_TNIL); PN_NIL 20 test/api/potion-test.c CuAssert(T, "nil is a ref", !PN_IS_PTR(PN_NIL)); PN_NIL 22 test/api/potion-test.c PN_TRUE == potion_send(PN_NIL, potion_str(P, "nil?"))); PN_NIL 81 test/api/potion-test.c PN_TUPLE_AT(tup, 0) = PN_NIL; PN_NIL 136 test/api/potion-test.c CuAssertIntEquals(T, "arity nil", 0, potion_sig_arity(P, PN_NIL));