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
true
if error occurs. - bool
ensureStaticLinkTo
(Dsymbols
, Dsymbolp
); - See if context
s
is nested within contextp
, meaning itp
is reachable at runtime by walking the static links. If any of the intervening contexts are function literals, make sure they are delegates.Parameters:Dsymbol s
inner context Dsymbol p
outer context Returns:true
means 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 Wed Jul 19 22:16:39 2017