BuiltinFunction represents any standard CLR function exposed to Python. This is used for both methods on standard Python types such as list or tuple and for methods from arbitrary .NET assemblies. All calls are made through the optimizedTarget which is created lazily. TODO: Back BuiltinFunction's by MethodGroup's.
A custom built-in function which supports indexing
Contains helper methods for converting C# names into Python names.
Represents a PythonType. Instances of PythonType are created via PythonTypeBuilder.
Provides a slot object for the dictionary to allow setting of the dictionary.
A TypeSlot is an item that gets stored in a type's dictionary. Slots provide an opportunity to customize access at runtime when a value is get or set from a dictionary.
The unbound representation of an event property
BoundEvent is the object that gets returned when the user gets an event object. An BoundEvent tracks where the event was received from and is used to verify we get a proper add when dealing w/ statics events.
Represents a ReflectedProperty created for an extension method. Logically the property is an instance property but the method implementing it is static.
Base class for properties backed by methods. These include our slot properties, indexers, and normal properties. This class provides the storage of these as well as the storage of our optimized getter/setter methods, documentation for the property, etc...
Provides access to non-default .NET indexers (aka properties w/ parameters). C# doesn't support these, but both COM and VB.NET do. The types dictionary gets populated w/a ReflectedGetterSetter indexer which is a descriptor. Getting the descriptor returns a bound indexer. The bound indexer supports indexing. We support multiple indexer parameters via expandable tuples.
This interface is used for implementing parts of the IronPython type system. It is not intended for consumption from user programs.
Represents a set of attributes that different functions can have.