이름 |
설명 |
BuiltinMethodDescriptor |
|
CachedNewTypeInfo |
|
ClassMethodTracker |
|
CustomAttributeTracker |
Provides a CustomTracker which handles special fields which have custom behavior on get/set. |
DocBuilder |
|
ExtensionPropertyInfo |
|
NameConverter |
Contains helper methods for converting C# names into Python names. |
NewTypeInfo |
TypeInfo captures the minimal CLI information required by NewTypeMaker for a Python object that inherits from a CLI type. |
NewTypeMaker |
Python class hierarchy is represented using the __class__ field in the object. It does not use the CLI type system for pure Python types. However, Python types which inherit from a CLI type, or from a builtin Python type which is implemented in the engine by a CLI type, do have to use the CLI type system to interoperate with the CLI world. This means that objects of different Python types, but with the same CLI base type, can use the same CLI type - they will just have different values for the __class__ field. The easiest way to inspect the functionality implemented by NewTypeMaker is to persist the generated IL using "ipy.exe -X:SaveAssemblies", and then inspect the persisted IL using ildasm. |
OldClass |
|
OldClass.OldClassDebugView |
|
OldInstance |
|
OperatorTracker |
|
PythonCustomTracker |
|
PythonTypeSlot |
|
ReflectedEvent |
|
ReflectedEvent.BadEventChange |
|
ReflectedEvent.BoundEvent |
|
ReflectedField |
|
ReflectedProperty |
|
ReturnFixer |
Same as the DLR ReturnFixer, but accepts lower level constructs, such as LocalBuilder, ParameterInfos and ILGen. |
TypeCache |
|
TypeInfo |
Helpers for interacting w/ .NET types. This includes: Member resolution via GetMember/GetMembers. This performs a member lookup which includes the registered extension types in the PythonBinder. Internally the class has many MemberResolver's which provide the various resolution behaviors. Cached member access - this is via static classes such as Object and provides various MemberInfo's so we're not constantly looking up via reflection. |
TypeInfo.ComparisonResolver |
Resolves methods mapped to __gt__, __lt__, __ge__, __le__, as well as providing an alternate resolution for __eq__ and __ne__, from the comparable type's CompareTo method. This should be run after the EqualityResolver. |
TypeInfo.DocumentationDescriptor |
|
TypeInfo.EqualityResolver |
Resolves methods mapped to __eq__ and __ne__ from: 1. IStructuralEquatable.Equals 2. IValueEquality.Equals (CLR2 only) |
TypeInfo.LookupBinder |
MemberBinder which searches only the current type and it's extension types to find a member. |
TypeInfo.MemberBinder |
Base class used for resolving a name into a member on the type. |
TypeInfo.MemberResolver |
Abstract class used for resolving members. This provides two methods of member look. The first is looking up a single member by name. The other is getting all of the members. There are various subclasses of this which have different methods of resolving the members. The primary function of the resolvers are to provide the name->value lookup. They also need to provide a simple name enumerator. The enumerator is kept simple because it's allowed to return duplicate names as well as return names of members that don't exist. The base MemberResolver will then verify their existance as well as filter duplicates. |
TypeInfo.OneOffOperatorBinder |
|
TypeInfo.OneOffPowerBinder |
|
TypeInfo.OneOffResolver |
One off resolver for various special methods which are known by name. A delegate is provided to provide the actual member which will be resolved. |
TypeInfo.OperatorResolver |
Resolves methods mapped to __*__ methods automatically from the .NET operator. |
TypeInfo.PrivateBindingResolver |
Provides bindings to private members when that global option is enabled. |
TypeInfo.ProtectedMemberResolver |
Provides resolutions for protected members that haven't yet been subclassed by NewTypeMaker. |
TypeInfo.ResolveBinder |
MemberBinder which searches the entire type hierarchy and their extension types to find a member. |
TypeInfo.StandardResolver |
Standard resolver for looking up .NET members. Uses reflection to get the members by name. |
TypeInfo._IPythonObject |
|
TypeInfo._Object |
|
TypeInfo._OperationFailed |
|
TypeInfo._PythonDictionary |
|
TypeInfo._PythonGenerator |
|
TypeInfo._PythonOps |
|