Interface ICallableBindingFactory
Binds a member to the thing that will run it.
public interface ICallableBindingFactory
Remarks
The one place that decides what kind of code a member is: the workspace's own, which an IProcedureInvoker runs, or something outside it, which an IExternalDispatcher reaches. Every call site asks for a binding and invokes it, so none of them carries that decision — and a new kind of callable target is a case here rather than a branch in each of them.
⚖️RDCore provides an implementation of this interface licensed under GPLv3.
Methods
ForMember(VBTypeMemberSymbol, IRuntimeValue?, SourceLocation)
The binding that invokes member.
ICallableBinding ForMember(VBTypeMemberSymbol member, IRuntimeValue? receiver = null, SourceLocation callSite = default)
Parameters
memberVBTypeMemberSymbolThe member to bind.
receiverIRuntimeValueThe object a member of a class is bound to — the
Meof the call — or null for a member of a module.callSiteSourceLocationWhere the call is written, for a member that cannot know it for itself. A workspace procedure locates its own errors from the statement that raised them; an external member has no statements.