Lines Matching refs:FuncDeclaration
116 FuncDeclaration fd;
256 extern (C++) class FuncDeclaration : Declaration
265 FuncDeclaration fdrequire; /// function that does the in contract
266 FuncDeclaration fdensure; /// function that does the out contract
288 FuncDeclaration overnext0; /// next in overload list (only used during IFTI)
360 //printf("FuncDeclaration(id = '%s', type = %p)\n", id.toChars(), type);
381 static FuncDeclaration create(const ref Loc loc, const ref Loc endloc, Identifier id, StorageClass storage_class, Type type, bool noreturn = false)
383 return new FuncDeclaration(loc, endloc, id, storage_class, type, noreturn);
386 override FuncDeclaration syntaxCopy(Dsymbol s)
388 //printf("FuncDeclaration::syntaxCopy('%s')\n", toChars());
389 FuncDeclaration f = s ? cast(FuncDeclaration)s
390 : new FuncDeclaration(loc, endloc, ident, storage_class, type.syntaxCopy(), (flags & FUNCFLAG.noreturn) != 0);
623 final int overrides(FuncDeclaration fd)
654 FuncDeclaration mismatch = null;
661 FuncDeclaration fdv = (*vtbl)[vi].isFuncDeclaration();
749 * Overload this FuncDeclaration with the new one f.
754 //printf("FuncDeclaration::overloadInsert(s = %s) this = %s\n", s.toChars(), toChars());
780 FuncDeclaration fd = s.isFuncDeclaration();
820 extern (D) final FuncDeclaration overloadExactMatch(Type t)
822 FuncDeclaration fd;
871 extern (D) final FuncDeclaration overloadModMatch(const ref Loc loc, Type tthis, ref bool hasOverloads)
873 //printf("FuncDeclaration::overloadModMatch('%s')\n", toChars());
963 FuncDeclaration f = this;
999 final MATCH leastAsSpecialized(FuncDeclaration g)
1108 final int getLevel(FuncDeclaration fd, int intypeof)
1110 //printf("FuncDeclaration::getLevel(fd = '%s')\n", fd.toChars());
1169 final int getLevelAndCheck(const ref Loc loc, Scope* sc, FuncDeclaration fd,
1220 //printf("FuncDeclaration::isWinMain() %s\n", toChars());
1358 //printf("FuncDeclaration::isPure() '%s'\n", toChars());
1379 // ^ This rely on the current situation that every FuncDeclaration has a
1795 //printf("+FuncDeclaration::isThis() '%s'\n", toChars());
1797 //printf("-FuncDeclaration::isThis() %p\n", ad);
1803 //printf("FuncDeclaration::needThis() '%s'\n", toChars());
1813 //printf("FuncDeclaration::isVirtualMethod() %s\n", toChars());
1840 printf("FuncDeclaration::isVirtual(%s)\n", toChars());
1855 printf("FuncDeclaration::isFinalFunc(%s), %x\n", toChars(), Declaration.isFinal());
1925 //printf("FuncDeclaration::checkNestedReference() %s\n", toPrettyChars());
1944 FuncDeclaration fdthis = sc.parent.isFuncDeclaration();
1959 bool checkEnclosing(FuncDeclaration fdv)
2033 //printf("FuncDeclaration::needsClosure() %s\n", toChars());
2045 FuncDeclaration f = v.nestedrefs[j];
2063 FuncDeclaration fx = s.isFuncDeclaration();
2104 * This is mostly consistent with FuncDeclaration::needsClosure().
2184 FuncDeclaration fdv = foverrides[i];
2378 static bool needsFensure(FuncDeclaration fd)
2493 auto fd = new FuncDeclaration(loc, loc, Id.require, STC.undefined_, tf);
2536 auto fd = new FuncDeclaration(loc, loc, Id.ensure, STC.undefined_, tf);
2634 * Generate a FuncDeclaration for a runtime library function.
2636 static FuncDeclaration genCfunc(Parameters* fparams, Type treturn, const(char)* name, StorageClass stc = 0)
2641 static FuncDeclaration genCfunc(Parameters* fparams, Type treturn, Identifier id, StorageClass stc = 0)
2643 FuncDeclaration fd;
2664 fd = new FuncDeclaration(Loc.initial, Loc.initial, id, STC.static_, tf);
2840 override final inout(FuncDeclaration) isFuncDeclaration() inout
2845 FuncDeclaration) toAliasFunc() inout
2868 FuncDeclaration inv = ad.inv;
3106 * Given a symbol that could be either a FuncDeclaration or
3119 FuncDeclaration resolveFuncCall(const ref Loc loc, Scope* sc, Dsymbol s,
3317 if (is(Decl == TemplateDeclaration) || is(Decl == FuncDeclaration))
3534 private void markAsNeedingClosure(Dsymbol f, FuncDeclaration outerFunc)
3538 FuncDeclaration fy = sx.isFuncDeclaration();
3563 private bool checkEscapingSiblings(FuncDeclaration f, FuncDeclaration outerFunc, void* p = null)
3568 FuncDeclaration f;
3579 FuncDeclaration g = f.siblingCallers[i];
3591 FuncDeclaration parentFunc = parent.isFuncDeclaration;
3619 extern (C++) final class FuncAliasDeclaration : FuncDeclaration
3621 FuncDeclaration funcalias;
3624 extern (D) this(Identifier ident, FuncDeclaration funcalias, bool hasOverloads = true)
3655 override inout(FuncDeclaration) toAliasFunc() inout
3668 extern (C++) final class FuncLiteralDeclaration : FuncDeclaration
3694 FuncDeclaration.syntaxCopy(f);
3804 extern (C++) final class CtorDeclaration : FuncDeclaration
3818 FuncDeclaration.syntaxCopy(f);
3860 extern (C++) final class PostBlitDeclaration : FuncDeclaration
3871 FuncDeclaration.syntaxCopy(dd);
3908 extern (C++) final class DtorDeclaration : FuncDeclaration
3924 FuncDeclaration.syntaxCopy(dd);
3973 extern (C++) class StaticCtorDeclaration : FuncDeclaration
3989 FuncDeclaration.syntaxCopy(scd);
4042 FuncDeclaration.syntaxCopy(scd);
4059 extern (C++) class StaticDtorDeclaration : FuncDeclaration
4077 FuncDeclaration.syntaxCopy(sdd);
4130 FuncDeclaration.syntaxCopy(sdd);
4147 extern (C++) final class InvariantDeclaration : FuncDeclaration
4160 FuncDeclaration.syntaxCopy(id);
4202 extern (C++) final class UnitTestDeclaration : FuncDeclaration
4219 FuncDeclaration.syntaxCopy(utd);
4256 extern (C++) final class NewDeclaration : FuncDeclaration
4267 FuncDeclaration.syntaxCopy(f);