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
a local clone.
ddmd.delegatize
Compiler implementation of the
D programming language.
Authors:
License:
Source: delegatize.d
- void
lambdaSetParent(Expressione, Scope*sc); - Patch the parent of declarations to be the new function literal.
- bool
lambdaCheckForNestedRef(Expressione, Scope*sc); - Look for references to variables in a scope enclosing the new function literal. Returns
trueif error occurs. - bool
ensureStaticLinkTo(Dsymbols, Dsymbolp); - See if context
sis nested within contextp, meaning itpis reachable at runtime by walking the static links. If any of the intervening contexts are function literals, make sure they are delegates.Parameters:Dsymbol sinner context Dsymbol pouter context Returns:truemeans it is accessible by walking the context pointers at runtimeReferences: for static links see https://en.wikipedia.org/wiki/Call_stack#Functions_of_the_call_stack
Copyright © 1999-2017 by the D Language Foundation | Page generated by
Ddoc on (no date time)