forked from maxioriv/HB_4.16
-
Notifications
You must be signed in to change notification settings - Fork 2
/
IronPython.xml
7535 lines (7200 loc) · 390 KB
/
IronPython.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0"?>
<doc>
<assembly>
<name>IronPython</name>
</assembly>
<members>
<member name="M:IronPython.Compiler.Ast.Node.AddFrame(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)">
<summary>
Creates a method frame for tracking purposes and enforces recursion
</summary>
</member>
<member name="M:IronPython.Compiler.Ast.Node.RemoveFrame(System.Linq.Expressions.Expression)">
<summary>
Removes the frames from generated code for when we're compiling the tracing delegate
which will track the frames it's self.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.Node.CanThrow">
<summary>
Returns true if the node can throw, false otherwise. Used to determine
whether or not we need to update the current dynamic stack info.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.Node.LineNumberUpdated">
<summary>
A temporary variable to track if the current line number has been emitted via the fault update block.
For example consider:
try:
raise Exception()
except Exception, e:
# do something here
raise
At "do something here" we need to have already emitted the line number, when we re-raise we shouldn't add it
again. If we handled the exception then we should have set the bool back to false.
We also sometimes directly check _lineNoUpdated to avoid creating this unless we have nested exceptions.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.Node.LineNumberExpression">
<summary>
A temporary variable to track the current line number
</summary>
</member>
<member name="T:IronPython.Compiler.Ast.SerializedScopeStatement">
<summary>
Fake ScopeStatement for FunctionCode's to hold on to after we have deserialized pre-compiled code.
</summary>
</member>
<member name="M:IronPython.Compiler.Ast.ScopeStatement.GetOrMakeFunctionCode">
<summary>
Gets or creates the FunctionCode object for this FunctionDefinition.
</summary>
</member>
<member name="M:IronPython.Compiler.Ast.ScopeStatement.GetUpdateTrackbackExpression(System.Linq.Expressions.ParameterExpression)">
<summary>
Gets the expression for updating the dynamic stack trace at runtime when an
exception is thrown.
</summary>
</member>
<member name="M:IronPython.Compiler.Ast.ScopeStatement.GetSaveLineNumberExpression(System.Linq.Expressions.ParameterExpression,System.Boolean)">
<summary>
Gets the expression for the actual updating of the line number for stack traces to be available
</summary>
</member>
<member name="M:IronPython.Compiler.Ast.ScopeStatement.WrapScopeStatements(System.Linq.Expressions.Expression,System.Boolean)">
<summary>
Wraps the body of a statement which should result in a frame being available during
exception handling. This ensures the line number is updated as the stack is unwound.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.LocalParentTuple">
<summary>
The variable used to hold out parents closure tuple in our local scope.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.LocalContext">
<summary>
Gets the expression associated with the local CodeContext. If the function
doesn't have a local CodeContext then this is the global context.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.IsClosure">
<summary>
True if this scope accesses a variable from an outer scope.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.ContainsNestedFreeVariables">
<summary>
True if an inner scope is accessing a variable defined in this scope.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.NeedsLocalsDictionary">
<summary>
True if we are forcing the creation of a dictionary for storing locals.
This occurs for calls to locals(), dir(), vars(), unqualified exec, and
from ... import *.
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.HasLateBoundVariableSets">
<summary>
True if variables can be set in a late bound fashion that we don't
know about at code gen time - for example via from foo import *.
This is tracked independently of the ContainsUnqualifiedExec/NeedsLocalsDictionary
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.FreeVariables">
<summary>
Variables that are bound in an outer scope - but not a global scope
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.GlobalVariables">
<summary>
Variables that are bound to the global scope
</summary>
</member>
<member name="P:IronPython.Compiler.Ast.ScopeStatement.CellVariables">
<summary>
Variables that are referred to from a nested scope and need to be
promoted to cells.
</summary>
</member>
<member name="T:IronPython.Compiler.Ast.ScopeStatement.DelayedFunctionCode">
<summary>
Provides a place holder for the expression which represents
a FunctionCode. For functions/classes this gets updated after
the AST has been generated because the FunctionCode needs to
know about the tree which gets generated. For modules we
immediately have the value because it always comes in as a parameter.
</summary>
</member>
<member name="T:IronPython.Compiler.Ast.ScopeStatement.DelayedProfiling">
<summary>
Reducible node so that re-writing for profiling does not occur until
after the script code has been completed and is ready to be compiled.
Without this extra node profiling would force reduction of the node
and we wouldn't have setup our constant access correctly yet.
</summary>
</member>
<member name="T:IronPython.Compiler.Ast.CollectableCompilationMode">
<summary>
A global allocator that puts all of the globals into an array access. The array is an
array of PythonGlobal objects. We then just close over the array for any inner functions.
Once compiled a RuntimeScriptCode is produced which is closed over the entire execution
environment.
</summary>
</member>
<member name="T:IronPython.Compiler.CompilationMode">
<summary>
Specifies the compilation mode which will be used during the AST transformation
</summary>
</member>
<member name="F:IronPython.Compiler.CompilationMode.ToDisk">
<summary>
Compilation will proceed in a manner in which the resulting AST can be serialized to disk.
</summary>
</member>
<member name="F:IronPython.Compiler.CompilationMode.Uncollectable">
<summary>
Compilation will use a type and declare static fields for globals. The resulting type
is uncollectible and therefore extended use of this will cause memory leaks.
</summary>
</member>
<member name="F:IronPython.Compiler.CompilationMode.Collectable">
<summary>
Compilation will use an array for globals. The resulting code will be fully collectible
and once all references are released will be collected.
</summary>
</member>
<member name="F:IronPython.Compiler.CompilationMode.Lookup">
<summary>
Compilation will force all global accesses to do a full lookup. This will also happen for
any unbound local references. This is the slowest form of code generation and is only
used for exec/eval code where we can run against an arbitrary dictionary.
</summary>
</member>
<member name="T:IronPython.Compiler.Ast.UncollectableCompilationMode">
<summary>
Implements globals which are backed by a static type, followed by an array if the static types' slots become full. The global
variables are stored in static fields on a type for fast access. The type also includes fields for constants and call sites
so they can be accessed much fasetr.
We don't generate any code into the type though - DynamicMethod's are much faster for code gen then normal ref emit.
</summary>
<summary>
Implements globals which are backed by a static type, followed by an array if the static types' slots become full. The global
variables are stored in static fields on a type for fast access. The type also includes fields for constants and call sites
so they can be accessed much fasetr.
We don't generate any code into the type though - DynamicMethod's are much faster for code gen then normal ref emit.
</summary>
</member>
<member name="M:IronPython.Compiler.Ast.StorageData.ContextStorageType(System.Int32)">
<summary>Ensures the underlying array is long enough to accomodate the given index</summary>
<returns>The context storage type corresponding to the given index</returns>
</member>
<member name="M:IronPython.Compiler.Ast.StorageData.ConstantStorageType(System.Int32)">
<summary>Ensures the underlying array is long enough to accomodate the given index</summary>
<returns>The constant storage type corresponding to the given index</returns>
</member>
<member name="M:IronPython.Compiler.Ast.StorageData.GlobalStorageType(System.Int32)">
<summary>Ensures the underlying array is long enough to accomodate the given index</summary>
<returns>The global storage type corresponding to the given index</returns>
</member>
<member name="M:IronPython.Compiler.Ast.SiteStorage`1.SiteStorageType(System.Int32)">
<summary>Ensures the underlying array is long enough to accomodate the given index</summary>
<returns>The site storage type corresponding to the given index</returns>
</member>
<member name="T:IronPython.Modules._ast.AugLoad">
<summary>
Not used.
</summary>
</member>
<member name="T:IronPython.Modules._ast.AugStore">
<summary>
Not used.
</summary>
</member>
<member name="T:IronPython.Compiler.Ast.PythonWalker">
<summary>
PythonWalker class - The Python AST Walker (default result is true)
</summary>
</member>
<member name="T:IronPython.Modules._ast.Suite">
<summary>
Not an actual node. We don't create this, but it's here for compatibility.
</summary>
</member>
<member name="T:IronPython.Runtime.Binding.IPythonExpandable">
<summary>
Interface used to mark objects which contain a dictionary of custom attributes that shadow
their existing attributes in a dynamic fashion. <seealso cref="T:MetaExpandable"/>
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.IPythonExpandable.EnsureCustomAttributes">
<summary>
Ensures that a non-null IDictionary instance is created for CustomAttributes and
returns it.
</summary>
</member>
<member name="T:IronPython.Runtime.Binding.MetaExpandable`1">
<summary>
Meta-object which allows IPythonExpandable objects to behave like Python objects in their
ability to dynamically add and remove new or existing custom attributes, generally shadowing
existing built-in members. <seealso cref="T:IPythonExpandable"/>
Getting: Member accesses first consult the object's CustomAttributes dictionary, then fall
through to the underlying object.
Setting: Values can be bound to any member name, shadowing any existing attributes except
public non-PythonHidden fields and properties, which will bypass the dictionary. Thus,
it is possible for SetMember to fail, for example if the property is read-only or of
the wrong type.
Deleting: Any member represented in the dictionary can be deleted, re-exposing the
underlying member if it exists. Any other deletions will fail.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.MakeReadOnlyMemberError(System.Type,System.String)">
<summary>
Provides a way for the binder to provide a custom error message when lookup fails. Just
doing this for the time being until we get a more robust error return mechanism.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.MakeUndeletableMemberError(System.Type,System.String)">
<summary>
Provides a way for the binder to provide a custom error message when lookup fails. Just
doing this for the time being until we get a more robust error return mechanism.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.GetBinder(IronPython.Runtime.CodeContext)">
<summary>
Gets the PythonBinder associated with tihs CodeContext
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.TryLookupSlot(IronPython.Runtime.CodeContext,IronPython.Runtime.Types.PythonType,System.String,IronPython.Runtime.Types.PythonTypeSlot@)">
<summary>
Performs .NET member resolution. This looks within the given type and also
includes any extension members. Base classes and their extension members are
not searched.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.TryLookupProtectedSlot(IronPython.Runtime.CodeContext,IronPython.Runtime.Types.PythonType,System.String,IronPython.Runtime.Types.PythonTypeSlot@)">
<summary>
Performs .NET member resolution. This looks within the given type and also
includes any extension members. Base classes and their extension members are
not searched.
This version allows PythonType's for protected member resolution. It shouldn't
be called externally for other purposes.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.TryResolveSlot(IronPython.Runtime.CodeContext,IronPython.Runtime.Types.PythonType,IronPython.Runtime.Types.PythonType,System.String,IronPython.Runtime.Types.PythonTypeSlot@)">
<summary>
Performs .NET member resolution. This looks the type and any base types
for members. It also searches for extension members in the type and any base types.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.LookupMembers(IronPython.Runtime.CodeContext,IronPython.Runtime.Types.PythonType,IronPython.Runtime.PythonDictionary)">
<summary>
Gets the member names which are defined in this type and any extension members.
This search does not include members in any subtypes or their extension members.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.ResolveMemberNames(IronPython.Runtime.CodeContext,IronPython.Runtime.Types.PythonType,IronPython.Runtime.Types.PythonType,System.Collections.Generic.Dictionary{System.String,System.String})">
<summary>
Gets the member names which are defined in the type and any subtypes.
This search includes members in the type and any subtypes as well as extension
types of the type and its subtypes.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.MakeExtensionTypes">
<summary>
Creates the initial table of extension types. These are standard extension that we apply
to well known .NET types to make working with them better. Being added to this table does
not make a type a Python type though so that it's members are generally accessible w/o an
import clr and their type is not re-named.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.MakeSystemTypes">
<summary>
Creates a table of standard .NET types which are also standard Python types. These types have a standard
set of extension types which are shared between all runtimes.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.DomainManager_AssemblyLoaded(System.Object,Microsoft.Scripting.AssemblyLoadedEventArgs)">
<summary>
Event handler for when our domain manager has an assembly loaded by the user hosting the script
runtime. Here we can gather any information regarding extension methods.
Currently DLR-style extension methods become immediately available w/o an explicit import step.
</summary>
</member>
<member name="T:IronPython.Runtime.Binding.PythonBinder.SlotCache">
<summary>
Provides a cache from Type/name -> PythonTypeSlot and also allows access to
all members (and remembering whether all members are cached).
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.SlotCache.CacheSlot(System.Type,System.Boolean,System.String,IronPython.Runtime.Types.PythonTypeSlot,Microsoft.Scripting.Actions.MemberGroup)">
<summary>
Writes to a cache the result of a type lookup. Null values are allowed for the slots and they indicate that
the value does not exist.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.SlotCache.TryGetCachedSlot(System.Type,System.Boolean,System.String,IronPython.Runtime.Types.PythonTypeSlot@)">
<summary>
Looks up a cached type slot for the specified member and type. This may return true and return a null slot - that indicates
that a cached result for a member which doesn't exist has been stored. Otherwise it returns true if a slot is found or
false if it is not.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.SlotCache.TryGetCachedMember(System.Type,System.String,System.Boolean,Microsoft.Scripting.Actions.MemberGroup@)">
<summary>
Looks up a cached member group for the specified member and type. This may return true and return a null group - that indicates
that a cached result for a member which doesn't exist has been stored. Otherwise it returns true if a group is found or
false if it is not.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.SlotCache.IsFullyCached(System.Type,System.Boolean)">
<summary>
Checks to see if all members have been populated for the provided type.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.SlotCache.CacheAll(System.Type,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.Collections.Generic.KeyValuePair{IronPython.Runtime.Types.PythonTypeSlot,Microsoft.Scripting.Actions.MemberGroup}})">
<summary>
Populates the type with all the provided members and marks the type
as being fully cached.
The dictionary is used for the internal storage and should not be modified after
providing it to the cache.
</summary>
</member>
<member name="M:IronPython.Runtime.Binding.PythonBinder.SlotCache.GetAllMembers(System.Type,System.Boolean)">
<summary>
Returns an enumerable object which provides access to all the members of the provided type.
The caller must check that the type is fully cached and populate the cache if it isn't before
calling this method.
</summary>
</member>
<member name="T:IronPython.Runtime.BuiltinPythonModule">
<summary>
Implements a built-in module which is instanced per PythonContext.
Implementers can subclass this type and then have a module which has efficient access
to internal state (this doesn't need to go through PythonContext.GetModuleState). These
modules can also declare module level globals which they'd like to provide efficient
access to by overloading GetGlobalVariableNames. When Initialize is called these
globals are provided and can be cached in the instance for fast global access.
Just like normal static modules these modules are registered with the PythonModuleAttribute.
</summary>
</member>
<member name="M:IronPython.Runtime.BuiltinPythonModule.Initialize(IronPython.Runtime.CodeContext,System.Collections.Generic.Dictionary{System.String,IronPython.Compiler.PythonGlobal})">
<summary>
Initializes the module for it's first usage. By default this calls PerformModuleReload with the
the dictionary.
</summary>
<param name="codeContext">The CodeContext for the module.</param>
<param name="optimizedGlobals">A list of globals which have optimize access. Contains at least all of the global variables reutrned by GetGlobalVariableNames.</param>
</member>
<member name="M:IronPython.Runtime.BuiltinPythonModule.GetGlobalVariableNames">
<summary>
Gets a list of variable names which should have optimized storage (instances of PythonGlobal objects).
The module receives the global objects during the Initialize call and can hold onto them for
direct access to global members.
</summary>
</member>
<member name="M:IronPython.Runtime.BuiltinPythonModule.PerformModuleReload">
<summary>
Called when the user attempts to reload() on your module and by the base class Initialize method.
This provides an opportunity to allocate any per-module data which is not simply function definitions.
A common usage here is to create exception objects which are allocated by the module using PythonExceptions.CreateSubType.
</summary>
</member>
<member name="P:IronPython.Runtime.BuiltinPythonModule.Context">
<summary>
Provides access to the PythonContext which this module was created for.
</summary>
</member>
<member name="P:IronPython.Runtime.BuiltinPythonModule.Globals">
<summary>
Provides access to the CodeContext for the module. Returns null before Initialize() is called.
</summary>
</member>
<member name="T:IronPython.Runtime.ConstantDictionaryStorage">
<summary>
Copy on write constant dictionary storage used for dictionaries created with constant items.
</summary>
</member>
<member name="T:IronPython.Runtime.DictionaryStorage">
<summary>
Abstract base class for all PythonDictionary storage.
Defined as a class instead of an interface for performance reasons. Also not
using IDictionary* for keeping a simple interface.
Full locking is defined as being on the DictionaryStorage object it's self,
not an internal member. This enables subclasses to provide their own locking
aruond large operations and call lock free functions.
</summary>
</member>
<member name="M:IronPython.Runtime.DictionaryStorage.CopyTo(IronPython.Runtime.DictionaryStorage@)">
<summary>
Adds items from this dictionary into the other dictionary
</summary>
</member>
<member name="M:IronPython.Runtime.DictionaryStorage.TryGetPath(System.Object@)">
<summary>
Provides fast access to the __path__ attribute if the dictionary storage supports caching it.
</summary>
</member>
<member name="M:IronPython.Runtime.DictionaryStorage.TryGetPackage(System.Object@)">
<summary>
Provides fast access to the __package__ attribute if the dictionary storage supports caching it.
</summary>
</member>
<member name="M:IronPython.Runtime.DictionaryStorage.TryGetBuiltins(System.Object@)">
<summary>
Provides fast access to the __builtins__ attribute if the dictionary storage supports caching it.
</summary>
</member>
<member name="M:IronPython.Runtime.DictionaryStorage.TryGetName(System.Object@)">
<summary>
Provides fast access to the __name__ attribute if the dictionary storage supports caching it.
</summary>
</member>
<member name="M:IronPython.Runtime.DictionaryStorage.TryGetImport(System.Object@)">
<summary>
Provides fast access to the __import__ attribute if the dictionary storage supports caching it.
</summary>
</member>
<member name="T:IronPython.DictionaryTypeInfoAttribute">
<summary>
Provides more specific type information for Python dictionaries which are not strongly typed.
This attribute can be applied to fields, parameters, proeprties, and return values. It can be
inspected to get type information about the types of the keys and values of the expected
dictionary or the returned dictionary.
</summary>
</member>
<member name="T:IronPython.Runtime.DebuggerDictionaryStorage">
<summary>
Adapts an IDictionary[object, object] for use as a PythonDictionary used for
our debug frames. Also hides the special locals which start with $.
</summary>
</member>
<member name="T:IronPython.Runtime.Binding.IComConvertible">
<summary>
An interface that is implemented on DynamicMetaObjects.
This allows objects to opt-into custom conversions when calling
COM APIs. The IronPython binders all call this interface before
doing any COM binding.
</summary>
</member>
<member name="T:IronPython.Runtime.CodeContext">
<summary>
Captures and flows the state of executing code from the generated
Python code into the IronPython runtime.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.#ctor(IronPython.Runtime.PythonDictionary,IronPython.Runtime.ModuleContext)">
<summary>
Creates a new CodeContext which is backed by the specified Python dictionary.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.TryLookupName(System.String,System.Object@)">
<summary>
Attempts to lookup the provided name in this scope or any outer scope.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.TryLookupBuiltin(System.String,System.Object@)">
<summary>
Looks up a global variable. If the variable is not defined in the
global scope then built-ins is consulted.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.TryGetVariable(System.String,System.Object@)">
<summary>
Attempts to lookup the variable in the local scope.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.TryRemoveVariable(System.String)">
<summary>
Removes a variable from the local scope.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.SetVariable(System.String,System.Object)">
<summary>
Sets a variable in the local scope.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.TryGetGlobalVariable(System.String,System.Object@)">
<summary>
Gets a variable from the global scope.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.SetGlobalVariable(System.String,System.Object)">
<summary>
Sets a variable in the global scope.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.TryRemoveGlobalVariable(System.String)">
<summary>
Removes a variable from the global scope.
</summary>
</member>
<member name="M:IronPython.Runtime.CodeContext.GetBuiltinsDict">
<summary>
Returns the dictionary associated with __builtins__ if one is
set or null if it's not available. If __builtins__ is a module
the module's dictionary is returned.
</summary>
</member>
<member name="P:IronPython.Runtime.CodeContext.ModuleContext">
<summary>
Gets the module state for top-level code.
</summary>
</member>
<member name="P:IronPython.Runtime.CodeContext.GlobalScope">
<summary>
Gets the DLR scope object that corresponds to the global variables of this context.
</summary>
</member>
<member name="P:IronPython.Runtime.CodeContext.LanguageContext">
<summary>
Gets the PythonContext which created the CodeContext.
</summary>
</member>
<member name="P:IronPython.Runtime.CodeContext.GlobalDict">
<summary>
Gets the dictionary for the global variables from the ModuleContext.
</summary>
</member>
<member name="P:IronPython.Runtime.CodeContext.ShowCls">
<summary>
True if this global context should display CLR members on shared types (for example .ToString on int/bool/etc...)
False if these attributes should be hidden.
</summary>
</member>
<member name="P:IronPython.Runtime.CodeContext.Dict">
<summary>
Gets the dictionary used for storage of local variables.
</summary>
</member>
<member name="T:IronPython.Runtime.DontMapIEnumerableToIterAttribute">
<summary>
Marks a type so that IronPython will not expose the IEnumerable interface out as
__iter__
</summary>
</member>
<member name="T:IronPython.Runtime.Binding.ContextArgBuilder">
<summary>
ArgBuilder which provides the CodeContext parameter to a method.
</summary>
</member>
<member name="T:IronPython.Compiler.ClosureExpression">
<summary>
Small reducable node which just fetches the value from a ClosureCell
object. Like w/ global variables the compiler recognizes these on
sets and turns them into assignments on the python global object.
</summary>
</member>
<member name="M:IronPython.Compiler.ClosureExpression.Create">
<summary>
Creates the storage for the closure cell. If this is a closure over a parameter it
captures the initial incoming parameter value.
</summary>
</member>
<member name="M:IronPython.Compiler.ClosureExpression.Reduce">
<summary>
Reduces the closure cell to a read of the value stored in the cell.
</summary>
</member>
<member name="M:IronPython.Compiler.ClosureExpression.Assign(System.Linq.Expressions.Expression)">
<summary>
Assigns a value to the closure cell.
</summary>
</member>
<member name="M:IronPython.Compiler.ClosureExpression.Delete">
<summary>
Removes the current value from the closure cell.
</summary>
</member>
<member name="P:IronPython.Compiler.ClosureExpression.ClosureCell">
<summary>
Gets the expression which points at the closure cell.
</summary>
</member>
<member name="P:IronPython.Compiler.ClosureExpression.OriginalParameter">
<summary>
The original expression for the incoming parameter if this is a parameter closure. Otherwise
the value is null.
</summary>
</member>
<member name="P:IronPython.Compiler.ClosureExpression.PythonVariable">
<summary>
Gets the PythonVariable for which this closure expression was created.
</summary>
</member>
<member name="T:IronPython.Compiler.ReferenceClosureInfo">
<summary>
Tracking for variables lifted into closure objects. Used to store information in a function
about the outer variables it accesses.
</summary>
</member>
<member name="T:IronPython.Compiler.GeneratorRewriter">
<summary>
When finding a yield return or yield break, this rewriter flattens out
containing blocks, scopes, and expressions with stack state. All
scopes encountered have their variables promoted to the generator's
closure, so they survive yields.
</summary>
</member>
<member name="M:IronPython.Compiler.GeneratorRewriter.ToTemp(System.Linq.Expressions.Expression@)">
<summary>
Spills the right side into a temp, and replaces it with its temp.
Returns the expression that initializes the temp.
</summary>
</member>
<member name="M:IronPython.Compiler.GeneratorRewriter.MakeAssign(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)">
<summary>
Makes an assignment to this variable. Pushes the assignment as far
into the right side as possible, to allow jumps into it.
</summary>
</member>
<member name="T:IronPython.Compiler.DelayedTupleExpression">
<summary>
Accesses the property of a tuple. The node can be created first and then the tuple and index
type can be filled in before the tree is actually generated. This enables creation of these
nodes before the tuple type is actually known.
</summary>
</member>
<member name="T:IronPython.Compiler.LazyCode`1">
<summary>
Represents code which can be lazily compiled.
The code is created in an AST which provides the Expression of T and
whether or not the code should be interpreted. For non-pre compiled
scenarios the code will not be compiled until the 1st time it is run.
For pre-compiled scenarios the code is IExpressionSerializable and will
turn into a normal pre-compiled method.
</summary>
</member>
<member name="T:IronPython.Runtime.DontMapGetMemberNamesToDirAttribute">
<summary>
Marks a type so that IronPython will not expose types which have GetMemberNames
as having a __dir__ method.
Also suppresses __dir__ on something which implements IDynamicMetaObjectProvider
but is not an IPythonObject.
</summary>
</member>
<member name="T:IronPython.Runtime.DontMapICollectionToLenAttribute">
<summary>
Marks a type so that IronPython will not expose the ICollection interface out as
__len__.
</summary>
</member>
<member name="T:IronPython.Runtime.DontMapIDisposableToContextManagerAttribute">
<summary>
Marks a type so that IronPython will not expose the IDisposable interface out as
__enter__ and __exit__ methods of a context manager.
</summary>
</member>
<member name="T:IronPython.Runtime.DontMapIEnumerableToContainsAttribute">
<summary>
Marks a type so that IronPython will not expose the IEnumerable interface out as
__contains__
</summary>
</member>
<member name="T:IronPython.Runtime.EmptyDictionaryStorage">
<summary>
Singleton used for dictionaries which contain no items.
</summary>
</member>
<member name="T:IronPython.Runtime.ExtensionMethodSet">
<summary>
Represents the set of extension methods which are loaded into a module.
This set is immutable (as far the external viewer is considered). When a
new extension method set is loaded into a module we create a new ExtensionMethodsSet object.
Multiple modules which have the same set of extension methods use the same set.
</summary>
</member>
<member name="M:IronPython.Runtime.ExtensionMethodSet.GetExtensionMethods(System.String)">
<summary>
Returns all of the extension methods with the given name.
</summary>
</member>
<member name="M:IronPython.Runtime.ExtensionMethodSet.GetExtensionMethods(IronPython.Runtime.Types.PythonType)">
<summary>
Returns all of the extension methods which are applicable for the given type.
</summary>
</member>
<member name="T:IronPython.Runtime.ExtensionMethodSet.AssemblyLoadInfo">
<summary>
Tracks the extension types that are loaded for a given assembly.
We can have either types, namespaces, or a full assembly added as a reference.
When the user just adds types we just add them to the type hash set.
When the user adds namespaces we add them to the namespaces hashset. On the
next lookup we'll lazily load the types from that namespace and put them in Types.
When the user adds assemblies we set the value to the NotYetLoadedButFullAssembly
value. The next load request will load the types from that namespace and put them
in Types. When we do that we'll mark the assembly as FullyLoaded so we don't
have to go through that again if the user adds a namespace.
</summary>
</member>
<member name="T:IronPython.Runtime.InstancedModuleDictionaryStorage">
<summary>
ModuleDictionaryStorage for a built-in module which is bound to a specific instance.
These modules don't need to use PythonContext.GetModuleState() for storage and therefore
can provide efficient access to internal variables. They can also cache PythonGlobal
objects and provide efficient access to module globals.
To the end user these modules appear just like any other module. These modules are
implemented by subclassing the BuiltinPythonModule class.
</summary>
</member>
<member name="T:IronPython.Runtime.ModuleDictionaryStorage">
<summary>
Enables lazy initialization of module dictionaries.
</summary>
</member>
<member name="M:IronPython.Runtime.CustomDictionaryStorage.GetExtraItems">
<summary>
Gets all of the extra names and values stored in the dictionary.
</summary>
</member>
<member name="M:IronPython.Runtime.CustomDictionaryStorage.TrySetExtraValue(System.String,System.Object)">
<summary>
Attemps to sets a value in the extra keys. Returns true if the value is set, false if
the value is not an extra key.
</summary>
</member>
<member name="M:IronPython.Runtime.CustomDictionaryStorage.TryGetExtraValue(System.String,System.Object@)">
<summary>
Attempts to get a value from the extra keys. Returns true if the value is an extra
key and has a value. False if it is not an extra key or doesn't have a value.
</summary>
</member>
<member name="M:IronPython.Runtime.CustomDictionaryStorage.TryRemoveExtraValue(System.String)">
<summary>
Attempts to remove the key. Returns true if the key is removed, false
if the key was not removed, or null if the key is not an extra key.
</summary>
</member>
<member name="T:IronPython.Runtime.Types.PythonTypeSlot">
<summary>
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.
</summary>
</member>
<member name="M:IronPython.Runtime.Types.PythonTypeSlot.TryGetValue(IronPython.Runtime.CodeContext,System.Object,IronPython.Runtime.Types.PythonType,System.Object@)">
<summary>
Gets the value stored in the slot for the given instance binding it to an instance if one is provided and
the slot binds to instances.
</summary>
</member>
<member name="M:IronPython.Runtime.Types.PythonTypeSlot.TrySetValue(IronPython.Runtime.CodeContext,System.Object,IronPython.Runtime.Types.PythonType,System.Object)">
<summary>
Sets the value of the slot for the given instance.
</summary>
<returns>true if the value was set, false if it can't be set</returns>
</member>
<member name="M:IronPython.Runtime.Types.PythonTypeSlot.TryDeleteValue(IronPython.Runtime.CodeContext,System.Object,IronPython.Runtime.Types.PythonType)">
<summary>
Deletes the value stored in the slot from the instance.
</summary>
<returns>true if the value was deleted, false if it can't be deleted</returns>
</member>
<member name="M:IronPython.Runtime.Types.PythonTypeSlot.MakeGetExpression(IronPython.Runtime.Binding.PythonBinder,System.Linq.Expressions.Expression,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,IronPython.Runtime.Binding.ConditionalBuilder)">
<summary>
Gets an expression which is used for accessing this slot. If the slot lookup fails the error expression
is used again.
The default implementation just calls the TryGetValue method. Subtypes of PythonTypeSlot can override
this and provide a more optimal implementation.
</summary>
</member>
<member name="P:IronPython.Runtime.Types.PythonTypeSlot.CanOptimizeGets">
<summary>
True if generating code for gets can result in more optimal accesses.
</summary>
</member>
<member name="P:IronPython.Runtime.Types.PythonTypeSlot.GetAlwaysSucceeds">
<summary>
True if TryGetValue will always succeed, false if it may fail.
This is used to optimize away error generation code.
</summary>
</member>
<member name="T:IronPython.Runtime.IWeakReferenceable">
<summary>
Defines the internal interface used for accessing weak references and adding finalizers
to user-defined types.
</summary>
</member>
<member name="M:IronPython.Runtime.IWeakReferenceable.GetWeakRef">
<summary>
Gets the current WeakRefTracker for an object that can be used to
append additional weak references.
</summary>
</member>
<member name="M:IronPython.Runtime.IWeakReferenceable.SetWeakRef(IronPython.Runtime.WeakRefTracker)">
<summary>
Attempts to set the WeakRefTracker for an object. Used on the first
addition of a weak ref tracker to an object. If the object doesn't
support adding weak references then it returns false.
</summary>
</member>
<member name="M:IronPython.Runtime.IWeakReferenceable.SetFinalizer(IronPython.Runtime.WeakRefTracker)">
<summary>
Sets a WeakRefTracker on an object for the purposes of supporting finalization.
All user types (new-style and old-style) support finalization even if they don't
support weak-references, and therefore this function always succeeds. Note the
slot used to store the WeakRefTracker is still shared between SetWeakRef and
SetFinalizer if a type supports both.
</summary>
<param name="value"></param>
</member>
<member name="T:IronPython.Runtime.IPythonMembersList">
<summary>
Provides a list of all the members of an instance. ie. all the keys in the
dictionary of the object. Note that it can contain objects that are not strings.
Such keys can be added in IronPython using syntax like:
obj.__dict__[100] = someOtherObject
This Python specific version also supports filtering based upon the show cls
flag by flowing in the code context.
</summary>
</member>
<member name="M:IronPython.Runtime.Method.CheckSelf(IronPython.Runtime.CodeContext,System.Object)">
<summary>
Validates that the current self object is usable for this method.
</summary>
</member>
<member name="T:IronPython.Runtime.PythonHiddenBaseClassAttribute">
<summary>
Marks a class as being hidden from the Python hierarchy. This is applied to the base class
and then all derived types will not see the base class in their hierarchy and will not be
able to access members declaredo on the base class.
</summary>
</member>
<member name="T:IronPython.Runtime.SequenceTypeInfoAttribute">
<summary>
Provides more specific type information for Python lists which are not strongly typed.
This attribute can be applied to fields, parameters, proeprties, and return values. It can be
inspected to get type information about the types of the values of the expected
list or the returned list.
</summary>
</member>
<member name="T:IronPython.Runtime.ModuleContext">
<summary>
Captures the globals and other state of module code.
</summary>
</member>
<member name="M:IronPython.Runtime.ModuleContext.#ctor(IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonContext)">
<summary>
Creates a new ModuleContext which is backed by the specified dictionary.
</summary>
</member>
<member name="M:IronPython.Runtime.ModuleContext.#ctor(IronPython.Runtime.PythonModule,IronPython.Runtime.PythonContext)">
<summary>
Creates a new ModuleContext for the specified module.
</summary>
</member>
<member name="M:IronPython.Runtime.ModuleContext.InitializeBuiltins(System.Boolean)">
<summary>
Initializes __builtins__ for the module scope.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleContext.Globals">
<summary>
Gets the dictionary used for the global variables in the module
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleContext.Context">
<summary>
Gets the language context which created this module.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleContext.GlobalScope">
<summary>
Gets the DLR Scope object which is associated with the modules dictionary.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleContext.GlobalContext">
<summary>
Gets the global CodeContext object which is used for execution of top-level code.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleContext.Module">
<summary>
Gets the module object which this code is executing in.
This module may or may not be published in sys.modules. For user defined
code typically the module gets published at the start of execution. But if
this ModuleContext is attached to a Scope, or if we've just created a new
module context for executing code it will not be in sys.modules.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleContext.Features">
<summary>
Gets the features that code has been compiled with in the module.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleContext.ShowCls">
<summary>
Gets or sets whether code running in this context should display
CLR members (for example .ToString on objects).
</summary>
</member>
<member name="T:IronPython.Runtime.ModuleGlobalCache">
<summary>
Cached global value. Created and maintained on a per-language basis. Default
implementation returns a singleton which indicates caching is not occuring.
</summary>
</member>
<member name="M:IronPython.Runtime.ModuleGlobalCache.#ctor(System.Object)">
<summary>
Creates a new ModuleGlobalCache with the specified value.
</summary>
</member>
<member name="M:IronPython.Runtime.ModuleGlobalCache.Changed(System.Object,Microsoft.Scripting.Runtime.ModuleChangeEventArgs)">
<summary>
Event handler for when the value has changed. Language implementors should call this when
the cached value is invalidated.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleGlobalCache.IsCaching">
<summary>
True if the ModuleGlobalCache is participating in a caching strategy.
</summary>
</member>
<member name="P:IronPython.Runtime.ModuleGlobalCache.HasValue">
<summary>
True if there is currently a value associated with this global variable. False if