ddmd.func

Compiler implementation of the D programming language.

Members

Aliases

BUILTINno
alias BUILTINno = BUILTIN.BUILTINno
Undocumented in source.
BUILTINunknown
alias BUILTINunknown = BUILTIN.BUILTINunknown
Undocumented in source.
BUILTINyes
alias BUILTINyes = BUILTIN.BUILTINyes
Undocumented in source.
ILSno
alias ILSno = ILS.ILSno
Undocumented in source.
ILSuninitialized
alias ILSuninitialized = ILS.ILSuninitialized
Undocumented in source.
ILSyes
alias ILSyes = ILS.ILSyes
Undocumented in source.

Classes

CtorDeclaration
class CtorDeclaration
DeleteDeclaration
class DeleteDeclaration
DtorDeclaration
class DtorDeclaration
FuncAliasDeclaration
class FuncAliasDeclaration

Used as a way to import a set of functions from another scope into this one.

FuncDeclaration
class FuncDeclaration
FuncLiteralDeclaration
class FuncLiteralDeclaration
InvariantDeclaration
class InvariantDeclaration
NewDeclaration
class NewDeclaration
NrvoWalker
class NrvoWalker
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
PostBlitDeclaration
class PostBlitDeclaration
SharedStaticCtorDeclaration
class SharedStaticCtorDeclaration
SharedStaticDtorDeclaration
class SharedStaticDtorDeclaration
StatementRewriteWalker
class StatementRewriteWalker
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
StaticCtorDeclaration
class StaticCtorDeclaration
StaticDtorDeclaration
class StaticDtorDeclaration
UnitTestDeclaration
class UnitTestDeclaration

Enums

BUILTIN
enum BUILTIN
Undocumented in source.
ILS
enum ILS
Undocumented in source.

Functions

addInvariant
Expression addInvariant(Loc loc, Scope* sc, AggregateDeclaration ad, VarDeclaration vthis, bool direct)

Generate Expression to call the invariant. Input: ad aggregate with the invariant vthis variable with 'this' direct call invariant directly

checkEscapingSiblings
bool checkEscapingSiblings(FuncDeclaration f, FuncDeclaration outerFunc, void* p)
Undocumented in source. Be warned that the author may not have intended to support it.
getIndirection
Type getIndirection(Type t)

Returns an indirect type one step from t.

markAsNeedingClosure
void markAsNeedingClosure(Dsymbol f, FuncDeclaration outerFunc)
Undocumented in source. Be warned that the author may not have intended to support it.
overloadApply
int overloadApply(Dsymbol fstart, int delegate(Dsymbol) dg)

Visit each overloaded function/template in turn, and call dg(s) on it. Exit when no more, or dg(s) returns nonzero.

overloadApply
int overloadApply(Dsymbol fstart, void* param, int function(void*, Dsymbol) fp)
Undocumented in source. Be warned that the author may not have intended to support it.
resolveFuncCall
FuncDeclaration resolveFuncCall(Loc loc, Scope* sc, Dsymbol s, Objects* tiargs, Type tthis, Expressions* fargs, int flags)

Given a symbol that could be either a FuncDeclaration or a function template, resolve it to a function symbol. loc instantiation location sc instantiation scope tiargs initial list of template arguments tthis if !NULL, the 'this' pointer argument fargs arguments to function flags 1: do not issue error message on no match, just return NULL 2: overloadResolve only

traverseIndirections
bool traverseIndirections(Type ta, Type tb, void* p, bool reversePass)

Returns true if memory reachable through a reference B to a value of type tb, which has been constructed with a reference A to a value of type ta available, can alias memory reachable from A based on the types involved (either directly or via any number of indirections).

Manifest constants

FUNCFLAGinlineScanned
enum FUNCFLAGinlineScanned;
Undocumented in source.
FUNCFLAGnogcInprocess
enum FUNCFLAGnogcInprocess;
Undocumented in source.
FUNCFLAGnothrowInprocess
enum FUNCFLAGnothrowInprocess;
Undocumented in source.
FUNCFLAGpurityInprocess
enum FUNCFLAGpurityInprocess;
Undocumented in source.
FUNCFLAGreturnInprocess
enum FUNCFLAGreturnInprocess;
Undocumented in source.
FUNCFLAGsafetyInprocess
enum FUNCFLAGsafetyInprocess;
Undocumented in source.

Static functions

MODMatchToBuffer
void MODMatchToBuffer(OutBuffer* buf, ubyte lhsMod, ubyte rhsMod)
Undocumented in source. Be warned that the author may not have intended to support it.
unitTestId
Identifier unitTestId(Loc loc)

Generate unique unittest function Id so we can have multiple instances per module.

Meta

Source

See Source File
$(DMDSRC _func.d)