View source code
Display the source code in dmd/funcsem.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Module dmd.funcsem

Does semantic analysis for functions.






addInvariant(ad, vthis) Generate Expression to call the invariant.
buildResultVar(fd, sc, tret) Declare result variable lazily.
checkForwardRef(fd, loc) Check that this function type is properly resolved. If not, report "forward reference error" and return true.
declareThis(fd, sc) Creates and returns the hidden parameters for this function declaration.
findVtblIndex(fd, vtbl) Find index of function in vtbl[0..length] that this function overrides. Prefer an exact match to a covariant one.
funcDeclarationSemantic(sc, funcdecl) Main semantic routine for functions.
functionSemantic(fd) Resolve forward reference of function signature - parameter types, return type, and attributes.
functionSemantic3(fd) Resolve forward reference of function body. Returns false if any errors exist in the body.
overrideInterface(fd) If function is a function in a base class, return that base class.
resolveFuncCall(loc, sc, s, tiargs, tthis, argumentList, flags) Given a symbol that could be either a FuncDeclaration or a function template, resolve it to a function symbol.


FuncResolveFlag Flag used by resolveFuncCall.


Walter Bright


Boost License 1.0