이름 |
설명 |
BinaryRetTypeBinder |
|
Binders |
|
BindingHelpers |
Common helpers used by the various binding logic. |
BindingWarnings |
Provides support for emitting warnings when built in methods are invoked at runtime. |
CompatibilityInvokeBinder |
Fallback action for performing an invoke from Python. We translate the CallSignature which supports splatting position and keyword args into their expanded form. |
ConditionalBuilder |
Builds up a series of conditionals when the False clause isn't yet known. We can keep appending conditions and if true's. Each subsequent true branch becomes the false branch of the previous condition and body. Finally a non-conditional terminating branch must be added. |
ContextArgBuilder |
ArgBuilder which provides the CodeContext parameter to a method. |
CreateFallback |
Fallback action for performing a new() on a foreign IDynamicMetaObjectProvider. used when call falls back. |
MetaBuiltinMethodDescriptor |
|
MetaMethod |
|
MetaOldClass |
|
MetaOldInstance |
Provides a MetaObject for instances of Python's old-style classes. TODO: Lots of CodeConetxt references, need to move CodeContext onto OldClass and pull it from there. |
MetaPythonFunction |
|
MetaPythonFunction.FunctionBinderHelper |
Performs the actual work of binding to the function. Overall this works by going through the arguments and attempting to bind all the outstanding known arguments - position arguments and named arguments which map to parameters are easy and handled in the 1st pass for GetArgumentsForRule. We also pick up any extra named or position arguments which will need to be passed off to a kw argument or a params array. After all the normal args have been assigned to do a 2nd pass in FinishArguments. Here we assign a value to either a value from the params list, kw-dict, or defaults. If there is ambiguity between this (e.g. we have a splatted params list, kw-dict, and defaults) we call a helper which extracts them in the proper order (first try the list, then the dict, then the defaults). |
MetaPythonObject |
|
MetaPythonType |
|
MetaPythonType.ArgumentValues |
|
MetaPythonType.BuiltinInitAdapter |
|
MetaPythonType.BuiltinNewAdapter |
|
MetaPythonType.CallAdapter |
|
MetaPythonType.ConstructorNewAdapter |
|
MetaPythonType.DefaultInitAdapter |
|
MetaPythonType.DefaultNewAdapter |
|
MetaPythonType.InitAdapter |
|
MetaPythonType.MixedInitAdapter |
|
MetaPythonType.MixedNewAdapter |
|
MetaPythonType.NewAdapter |
|
MetaPythonType.SlotInitAdapter |
|
MetaUserObject |
|
PythonBinder |
|
PythonDeleteMemberBinder |
|
PythonDeleteSliceBinder |
|
PythonGetSliceBinder |
|
PythonOverloadResolver |
|
PythonOverloadResolverFactory |
|
PythonProtocol |
|
PythonProtocol.BuiltinCallable |
Subclass of Callable for a built-in function. This calls a .NET method performing the appropriate bindings. |
PythonProtocol.Callable |
Base class for calling indexers. We have two subclasses that target built-in functions & user defined callable objects. The Callable objects get handed off to ItemBuilder's which then call them with the appropriate arguments. |
PythonProtocol.IndexBuilder |
Base class for building a __*item__ or __*slice__ call. |
PythonProtocol.ItemBuilder |
Derived IndexBuilder for calling __*item__ methods. |
PythonProtocol.SliceBuilder |
Derived IndexBuilder for calling __*slice__ methods |
PythonProtocol.SlotCallable |
Callable to a user-defined callable object. This could be a Python function, a class defining __call__, etc... |
PythonSetSliceBinder |
|
SiteLocalStorageBuilder |
|
SlotOrFunction |
Provides an abstraction for calling something which might be a builtin function or might be some arbitrary user defined slot. If the object is a builtin function the call will go directly to the underlying .NET method. If the object is an arbitrary callable object we will setup a nested dynamic site for performing the additional dispatch. TODO: We could probably do a specific binding to the object if it's another IDyanmicObject. |
ValidationInfo |
|
WarningInfo |
|