- Notifications
You must be signed in to change notification settings - Fork752
Open
Description
I think it would be a good idea to put some work into making theclr
module we provide as (backwards?) compatible with IronPython as possible.
This is the implementation:https://github.com/IronLanguages/main/blob/master/Languages/IronPython/IronPython/Runtime/ClrModule.cs
These are the public members
- Field
bool IsNetStandard
- Methods
AddReference{,ToFile,ToFileAndPath,ByName,ByPartialName}
- Methods
LoadAssembly{FromFileWithPath,FromFile,ByPartialName,ByName}
- Methods
Use
(essentially a "generic"import
, we could map it directly to that) - Methods
GetString
(decode .NET byte arrays as Latin1) - Methods
GetBytes
(encode a .NET string as a byte array in Latin1) - Method
SetCommandDispatcher
(likely not applicable) - Methods
ImportExtensions
(already requested by yours truly inAdd support for clr.ImportExtensions #55) - COM-related functions
LoadTypeLibrary
,AddReferenceToTypeLibrary
,PublishTypeLibDesc
- Method
GetClrType
(Support clr.GetClrType() - as in IronPython #433) - Method
GetPythonType
(takes a .NETType
object and returns the corresponding wrapped Python type) - Method
GetDynamicType
(obsoleted, same asGetPythonType
) - Types
Reference
andStrongBox
(Failure in function selection according to parameters #226) - Decorator
accepts
(checks the argument types supplied to the decorated function, should be implementable in pure Python) - Decorator
returns
(validates the result type of a function, also easy in Python) - Method
Self
(always returnsnull
?!) - Methods
Dir
andDirClr
(can both be mapped todir
in our case, I guess) - Method
Convert
(tries to convert the object to the passed type by casting explicitlyevent.Control as foo in ironpython #611 ) - Methods
Compile{Modules,SubclassTypes}
(not applicable in our case) - Method
GetSubclassedTypes
(returns a tuple of all types that have been subclassed, does not make sense in CPython)
We could add stubs for all of these, raisingNotImplementedError
and port over everything that is simple or makes sense to us.
Metadata
Metadata
Assignees
Labels
No labels