tfpt review “/shelveset:DefaultBinderRefactoring2;REDMOND\tomat”
Outer DLR, Python:
Refactors default method call binder:
- Moves SiteLocalStorage to Python. Ruby uses a different storage class
and it’s very simple for languages to define and use their own.
- ActionBinder.BindSpecialParameter shouldn’t deal with CodeContext and
SiteLocalStorage - moved to PythonBinder.
- Moved ContextArgBuilder and SiteLocalStorageArgbuilder to Python.
- ArgBuilder.CanGenerateDelegate needs to be protected so that custom
ArgBuilders can override it.
- Renames various identifiers to make naming consistent and more
- Simplifies some methods in MethodBinder and MethodCandidate, removes
dependency on CodeContext - this was only used by JScript (disables a
couple of JS tests).
- Replaces calls to obsolete methods of default method binder with
those using meta-objects.