IronPython.Runtime.Operations Namespace |
Class | Description | |
---|---|---|
![]() | ArrayOps | |
![]() | BigIntegerOps | |
![]() | BoolOps | |
![]() | ByteOps | |
![]() | CharOps |
We override the behavior of equals, compare and hashcode to make
chars seem as much like strings as possible. In Python there is no
difference between these types.
|
![]() | ComOps | |
![]() | ComplexOps | |
![]() | CustomTypeDescHelpers |
Helper class that all custom type descriptor implementations call for
the bulk of their implementation.
|
![]() | DBNullOps | |
![]() | DecimalOps | |
![]() | DelegateOps | |
![]() | DictionaryOfTOpsK, V | |
![]() | DoubleOps | |
![]() | EnumOps | |
![]() | ExtensibleComplex | |
![]() | ExtensibleString |
ExtensibleString is the base class that is used for types the user defines
that derive from string. It carries along with it the string's value and
our converter recognizes it as a string.
|
![]() | InstanceOps |
InstanceOps contains methods that get added to CLS types depending on what
methods and constructors they define. These have not been added directly to
PythonType since they need to be added conditionally.
Possibilities include:
__new__, one of 3 __new__ sets can be added:
DefaultNew - This is the __new__ used for a PythonType (list, dict, object, etc...) that
has only 1 default public constructor that takes no parameters. These types are
mutable types, and __new__ returns a new instance of the type, and __init__ can be used
to re-initialize the types. This __new__ allows an unlimited number of arguments to
be passed if a non-default __init__ is also defined.
NonDefaultNew - This is used when a type has more than one constructor, or only has one
that takes more than zero parameters. This __new__ does not allow an arbitrary # of
extra arguments.
DefaultNewCls - This is the default new used for CLS types that have only a single ctor
w/ an arbitray number of arguments. This constructor allows setting of properties
based upon an extra set of kw-args, e.g.: System.Windows.Forms.Button(Text='abc'). It
is only used on non-Python types.
__init__:
For types that do not define __init__ we have an __init__ function that takes an
unlimited number of arguments and does nothing. All types share the same reference
to 1 instance of this.
next: Defined when a type is an enumerator to expose the Python iter protocol.
repr: Added for types that override ToString
get: added for types that implement IDescriptor
|
![]() | Int16Ops | |
![]() | Int32Ops | |
![]() | Int64Ops | |
![]() | ListOfTOpsT | |
![]() | NamespaceTrackerOps | |
![]() | ObjectOps |
Contains Python extension methods that are added to object
|
![]() | PythonAssemblyOps | |
![]() | PythonCalls | |
![]() | PythonOps |
Contains functions that are called directly from
generated code to perform low-level runtime functionality.
|
![]() | SByteOps | |
![]() | SingleOps | |
![]() | StringOps |
StringOps is the static class that contains the methods defined on strings, i.e. 'abc'
Here we define all of the methods that a Python user would see when doing dir('abc').
If the user is running in a CLS aware context they will also see all of the methods
defined in the CLS System.String type.
|
![]() | TypeGroupOps | |
![]() | TypeTrackerOps | |
![]() | UInt16Ops | |
![]() | UInt32Ops | |
![]() | UInt64Ops | |
![]() | UnicodeHelper |
Helper clas for calls to unicode(...). We generate code which checks if unicode
is str and if it is we redirect those calls to the unicode function defined on this
class.
|
![]() | UserTypeDebugView |
Provides a debug view for user defined types. This class is declared as public
because it is referred to from generated code. You should not use this class.
|
![]() | UserTypeOps |
Structure | Description | |
---|---|---|
![]() | FunctionStack |