Diff of /trunk/cforge/packages/IronPython-2.7.8/Net45/Microsoft.Dynamic.xml [000000] .. [r33]  Maximize  Restore

Switch to unified view

a b/trunk/cforge/packages/IronPython-2.7.8/Net45/Microsoft.Dynamic.xml
1
<?xml version="1.0"?>
2
<doc>
3
    <assembly>
4
        <name>Microsoft.Dynamic</name>
5
    </assembly>
6
    <members>
7
        <member name="T:Microsoft.Scripting.Actions.ActionBinder">
8
            <summary>
9
            Provides binding semantics for a language.  This include conversions as well as support
10
            for producing rules for actions.  These optimized rules are used for calling methods, 
11
            performing operators, and getting members using the ActionBinder's conversion semantics.
12
            </summary>
13
        </member>
14
        <member name="P:Microsoft.Scripting.Actions.ActionBinder.PrivateBinding">
15
            <summary>
16
            Determines if the binder should allow access to non-public members.
17
            
18
            By default the binder does not allow access to non-public members.  Base classes
19
            can inherit and override this value to customize whether or not private binding
20
            is available.
21
            </summary>
22
        </member>
23
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.Convert(System.Object,System.Type)">
24
            <summary>
25
            Converts an object at runtime into the specified type.
26
            </summary>
27
        </member>
28
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.CanConvertFrom(System.Type,System.Type,System.Boolean,Microsoft.Scripting.Actions.Calls.NarrowingLevel)">
29
            <summary>
30
            Determines if a conversion exists from fromType to toType at the specified narrowing level.
31
            toNotNullable is true if the target variable doesn't allow null values.
32
            </summary>
33
        </member>
34
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.PreferConvert(System.Type,System.Type)">
35
            <summary>
36
            Provides ordering for two parameter types if there is no conversion between the two parameter types.
37
            </summary>
38
        </member>
39
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.ConvertExpression(System.Linq.Expressions.Expression,System.Type,Microsoft.Scripting.Actions.ConversionResultKind,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory)">
40
            <summary>
41
            Converts the provided expression to the given type.  The expression is safe to evaluate multiple times.
42
            </summary>
43
        </member>
44
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.GetMember(Microsoft.Scripting.Actions.MemberRequestKind,System.Type,System.String)">
45
            <summary>
46
            Gets the members that are visible from the provided type of the specified name.
47
            
48
            The default implemetnation first searches the type, then the flattened heirachy of the type, and then
49
            registered extension methods.
50
            </summary>
51
        </member>
52
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.MakeStaticAssignFromDerivedTypeError(System.Type,System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.MemberTracker,System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory)">
53
            <summary>
54
            Called when a set is attempting to assign to a field or property from a derived class through the base class.
55
            
56
            The default behavior is to allow the assignment.
57
            </summary>
58
        </member>
59
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.MakeStaticPropertyInstanceAccessError(Microsoft.Scripting.Actions.PropertyTracker,System.Boolean,System.Collections.Generic.IList{System.Dynamic.DynamicMetaObject})">
60
            <summary>
61
            Creates an ErrorInfo object when a static property is accessed from an instance member.  The default behavior is throw
62
            an exception indicating that static members properties be accessed via an instance.  Languages can override this to 
63
            customize the exception, message, or to produce an ErrorInfo object which reads or writes to the property being accessed.
64
            </summary>
65
            <param name="tracker">The static property being accessed through an instance</param>
66
            <param name="isAssignment">True if the user is assigning to the property, false if the user is reading from the property</param>
67
            <param name="parameters">The parameters being used to access the property.  This includes the instance as the first entry, any index parameters, and the
68
            value being assigned as the last entry if isAssignment is true.</param>
69
            <returns></returns>
70
        </member>
71
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.MakeMissingMemberError(System.Type,System.Dynamic.DynamicMetaObject,System.String)">
72
            <summary>
73
            Provides a way for the binder to provide a custom error message when lookup fails.  Just
74
            doing this for the time being until we get a more robust error return mechanism.
75
            
76
            Deprecated, use the non-generic version instead
77
            </summary>
78
        </member>
79
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.GetAllExtensionMembers(System.Type,System.String)">
80
            <summary>
81
            Gets the extension members of the given name from the provided type.  Base classes are also
82
            searched for their extension members.  Once any of the types in the inheritance hierarchy
83
            provide an extension member the search is stopped.
84
            </summary>
85
        </member>
86
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.GetExtensionMembers(System.Type,System.String)">
87
            <summary>
88
            Gets the extension members of the given name from the provided type.  Subclasses of the
89
            type and their extension members are not searched.
90
            </summary>
91
        </member>
92
        <member name="M:Microsoft.Scripting.Actions.ActionBinder.ReturnMemberTracker(System.Type,Microsoft.Scripting.Actions.MemberTracker)">
93
            <summary>
94
            Provides an opportunity for languages to replace all MemberTracker's with their own type.
95
            
96
            Alternatlely a language can expose MemberTracker's directly.
97
            </summary>
98
            <param name="memberTracker">The member which is being returned to the user.</param>
99
            <param name="type">Tthe type which the memberTrack was accessed from</param>
100
            <returns></returns>
101
        </member>
102
        <member name="T:Microsoft.Scripting.Actions.Argument">
103
            <summary>
104
            TODO: Alternatively, it should be sufficient to remember indices for this, list, dict and block.
105
            </summary>
106
        </member>
107
        <member name="T:Microsoft.Scripting.Actions.ArgumentType">
108
            <summary>
109
            Convention for an individual argument at a callsite.
110
            
111
            Multiple different callsites can match against a single declaration. 
112
            Some argument kinds can be "unrolled" into multiple arguments, such as list and dictionary. 
113
            </summary>
114
        </member>
115
        <member name="F:Microsoft.Scripting.Actions.ArgumentType.Simple">
116
            <summary>
117
            Simple unnamed positional argument.
118
            In Python: foo(1,2,3) are all simple arguments.
119
            </summary>
120
        </member>
121
        <member name="F:Microsoft.Scripting.Actions.ArgumentType.Named">
122
            <summary>
123
            Argument with associated name at the callsite
124
            In Python: foo(a=1)
125
            </summary>
126
        </member>
127
        <member name="F:Microsoft.Scripting.Actions.ArgumentType.List">
128
            <summary>
129
            Argument containing a list of arguments. 
130
            In Python: foo(*(1,2*2,3))  would match 'def foo(a,b,c)' with 3 declared arguments such that (a,b,c)=(1,4,3).
131
                 it could also match 'def foo(*l)' with 1 declared argument such that l=(1,4,3)
132
            </summary>
133
        </member>
134
        <member name="F:Microsoft.Scripting.Actions.ArgumentType.Dictionary">
135
            <summary>
136
            Argument containing a dictionary of named arguments.
137
            In Python: foo(**{'a':1, 'b':2})
138
            </summary>
139
        </member>
140
        <member name="T:Microsoft.Scripting.Actions.CallSignature">
141
            <summary>
142
            Richly represents the signature of a callsite.
143
            </summary>
144
        </member>
145
        <member name="F:Microsoft.Scripting.Actions.CallSignature._infos">
146
            <summary>
147
            Array of additional meta information about the arguments, such as named arguments.
148
            Null for a simple signature that's just an expression list. eg: foo(a*b,c,d)
149
            </summary>
150
        </member>
151
        <member name="F:Microsoft.Scripting.Actions.CallSignature._argumentCount">
152
            <summary>
153
            Number of arguments in the signature.
154
            </summary>
155
        </member>
156
        <member name="P:Microsoft.Scripting.Actions.CallSignature.IsSimple">
157
            <summary>
158
            All arguments are unnamed and matched by position. 
159
            </summary>
160
        </member>
161
        <member name="M:Microsoft.Scripting.Actions.CallSignature.HasKeywordArgument">
162
            <summary>
163
            True if the OldCallAction includes an ArgumentInfo of ArgumentKind.Dictionary or ArgumentKind.Named.
164
            </summary>
165
        </member>
166
        <member name="M:Microsoft.Scripting.Actions.CallSignature.GetProvidedPositionalArgumentCount">
167
            <summary>
168
            Gets the number of positional arguments the user provided at the call site.
169
            </summary>
170
        </member>
171
        <member name="P:Microsoft.Scripting.Actions.Calls.ActualArguments.Count">
172
            <summary>
173
            The number of arguments not counting the collapsed ones.
174
            </summary>
175
        </member>
176
        <member name="P:Microsoft.Scripting.Actions.Calls.ActualArguments.VisibleCount">
177
            <summary>
178
            Gets the total number of visible arguments passed to the call site including collapsed ones.
179
            </summary>
180
        </member>
181
        <member name="M:Microsoft.Scripting.Actions.Calls.ActualArguments.TryBindNamedArguments(Microsoft.Scripting.Actions.Calls.MethodCandidate,Microsoft.Scripting.Actions.Calls.ArgumentBinding@,Microsoft.Scripting.Actions.Calls.CallFailure@)">
182
            <summary>
183
            Binds named arguments to the parameters. Returns a permutation of indices that captures the relationship between 
184
            named arguments and their corresponding parameters. Checks for duplicate and unbound named arguments.
185
            
186
            Ensures that for all i: namedArgs[i] binds to parameters[args.Length + bindingPermutation[i]] 
187
            </summary>
188
        </member>
189
        <member name="T:Microsoft.Scripting.Actions.Calls.ArgBuilder">
190
            <summary>
191
            ArgBuilder provides an argument value used by the MethodBinder.  One ArgBuilder exists for each
192
            physical parameter defined on a method.  
193
            
194
            Contrast this with ParameterWrapper which represents the logical argument passed to the method.
195
            </summary>
196
        </member>
197
        <member name="P:Microsoft.Scripting.Actions.Calls.ArgBuilder.Priority">
198
            <summary>
199
            Gets the priority.
200
            </summary>
201
        </member>
202
        <member name="P:Microsoft.Scripting.Actions.Calls.ArgBuilder.ConsumedArgumentCount">
203
            <summary>
204
            The number of actual arguments consumed by this builder.
205
            </summary>
206
        </member>
207
        <member name="M:Microsoft.Scripting.Actions.Calls.ArgBuilder.ToExpression(Microsoft.Scripting.Actions.Calls.OverloadResolver,Microsoft.Scripting.Actions.Calls.RestrictedArguments,System.Boolean[])">
208
            <summary>
209
            Provides the Expression which provides the value to be passed to the argument.
210
            If <c>null</c> is returned the argument is skipped (not passed to the callee).
211
            </summary>
212
        </member>
213
        <member name="P:Microsoft.Scripting.Actions.Calls.ArgBuilder.Type">
214
            <summary>
215
            Returns the type required for the argument or null if the ArgBuilder
216
            does not consume a type.
217
            </summary>
218
        </member>
219
        <member name="M:Microsoft.Scripting.Actions.Calls.ArgBuilder.UpdateFromReturn(Microsoft.Scripting.Actions.Calls.OverloadResolver,Microsoft.Scripting.Actions.Calls.RestrictedArguments)">
220
            <summary>
221
            Provides an Expression which will update the provided value after a call to the method.  May
222
            return null if no update is required.
223
            </summary>
224
        </member>
225
        <member name="M:Microsoft.Scripting.Actions.Calls.ArgBuilder.ToReturnExpression(Microsoft.Scripting.Actions.Calls.OverloadResolver)">
226
            <summary>
227
            If the argument produces a return value (e.g. a ref or out value) this provides
228
            the additional value to be returned.
229
            </summary>
230
        </member>
231
        <member name="P:Microsoft.Scripting.Actions.Calls.ArgBuilder.ByRefArgument">
232
            <summary>
233
            An assignable value that is passed to a byref parameter
234
            After the call it will contain the updated value
235
            </summary>
236
        </member>
237
        <member name="T:Microsoft.Scripting.Actions.Calls.BindingResult">
238
            <summary>
239
            Indicates the specific type of failure, if any, from binding to a method.
240
            </summary>
241
        </member>
242
        <member name="F:Microsoft.Scripting.Actions.Calls.BindingResult.Success">
243
            <summary>
244
            The binding succeeded.  Only one method was applicable or had the best conversion.  
245
            </summary>
246
        </member>
247
        <member name="F:Microsoft.Scripting.Actions.Calls.BindingResult.AmbiguousMatch">
248
            <summary>
249
            More than one method was applicable for the provided parameters and no method was considered the best.
250
            </summary>
251
        </member>
252
        <member name="F:Microsoft.Scripting.Actions.Calls.BindingResult.IncorrectArgumentCount">
253
            <summary>
254
            There are no overloads that match the number of parameters required for the call
255
            </summary>
256
        </member>
257
        <member name="F:Microsoft.Scripting.Actions.Calls.BindingResult.CallFailure">
258
            <summary>
259
            None of the target method(s) can successfully be called.  The failure can be due to:
260
                1. Arguments could not be successfully converted for the call
261
                2. Keyword arguments could not be assigned to positional arguments
262
                3. Keyword arguments could be assigned but would result in an argument being assigned 
263
                   multiple times (keyword and positional arguments conflit or dupliate keyword arguments).
264
            </summary>
265
        </member>
266
        <member name="F:Microsoft.Scripting.Actions.Calls.BindingResult.InvalidArguments">
267
            <summary>
268
            Actual arguments cannot be constructed.
269
            </summary>
270
        </member>
271
        <member name="F:Microsoft.Scripting.Actions.Calls.BindingResult.NoCallableMethod">
272
            <summary>
273
            No method is callable. For example, all methods have an unbound generic parameter.
274
            </summary>
275
        </member>
276
        <member name="T:Microsoft.Scripting.Actions.Calls.BindingTarget">
277
            <summary>
278
            Encapsulates the result of an attempt to bind to one or methods using the OverloadResolver.
279
            
280
            Users should first check the Result property to see if the binding was successful or
281
            to determine the specific type of failure that occured.  If the binding was successful
282
            MakeExpression can then be called to create an expression which calls the method.
283
            If the binding was a failure callers can then create a custom error message based upon
284
            the reason the call failed.
285
            </summary>
286
        </member>
287
        <member name="M:Microsoft.Scripting.Actions.Calls.BindingTarget.#ctor(System.String,System.Int32,Microsoft.Scripting.Actions.Calls.MethodCandidate,Microsoft.Scripting.Actions.Calls.NarrowingLevel,Microsoft.Scripting.Actions.Calls.RestrictedArguments)">
288
            <summary>
289
            Creates a new BindingTarget when the method binding has succeeded.
290
            </summary>
291
        </member>
292
        <member name="M:Microsoft.Scripting.Actions.Calls.BindingTarget.#ctor(System.String,System.Int32,System.Int32[])">
293
            <summary>
294
            Creates a new BindingTarget when the method binding has failed due to an incorrect argument count
295
            </summary>
296
        </member>
297
        <member name="M:Microsoft.Scripting.Actions.Calls.BindingTarget.#ctor(System.String,System.Int32,Microsoft.Scripting.Actions.Calls.CallFailure[])">
298
            <summary>
299
            Creates a new BindingTarget when the method binding has failued due to 
300
            one or more parameters which could not be converted.
301
            </summary>
302
        </member>
303
        <member name="M:Microsoft.Scripting.Actions.Calls.BindingTarget.#ctor(System.String,System.Int32,Microsoft.Scripting.Actions.Calls.MethodCandidate[])">
304
            <summary>
305
            Creates a new BindingTarget when the match was ambiguous
306
            </summary>
307
        </member>
308
        <member name="M:Microsoft.Scripting.Actions.Calls.BindingTarget.#ctor(System.String,Microsoft.Scripting.Actions.Calls.BindingResult)">
309
            <summary>
310
            Other failure.
311
            </summary>
312
        </member>
313
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.Result">
314
            <summary>
315
            Gets the result of the attempt to bind.
316
            </summary>
317
        </member>
318
        <member name="M:Microsoft.Scripting.Actions.Calls.BindingTarget.MakeExpression">
319
            <summary>
320
            Gets an Expression which calls the binding target if the method binding succeeded.
321
            
322
            Throws InvalidOperationException if the binding failed.
323
            </summary>
324
        </member>
325
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.Method">
326
            <summary>
327
            Returns the method if the binding succeeded, or null if no method was applicable.
328
            </summary>
329
        </member>
330
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.Overload">
331
            <summary>
332
            Returns the selected overload if the binding succeeded, or null if no one was applicable.
333
            </summary>
334
        </member>
335
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.Name">
336
            <summary>
337
            Gets the name of the method as supplied to the OverloadResolver.
338
            </summary>
339
        </member>
340
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.MethodCandidate">
341
            <summary>
342
            Returns the MethodTarget if the binding succeeded, or null if no method was applicable.
343
            </summary>
344
        </member>
345
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.AmbiguousMatches">
346
            <summary>
347
            Returns the methods which don't have any matches or null if Result == BindingResult.AmbiguousMatch
348
            </summary>
349
        </member>
350
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.CallFailures">
351
            <summary>
352
            Returns the methods and their associated conversion failures if Result == BindingResult.CallFailure.
353
            </summary>
354
        </member>
355
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.ExpectedArgumentCount">
356
            <summary>
357
            Returns the acceptable number of arguments which can be passed to the method if Result == BindingResult.IncorrectArgumentCount.
358
            </summary>
359
        </member>
360
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.ActualArgumentCount">
361
            <summary>
362
            Returns the total number of arguments provided to the call. 0 if the call succeeded or failed for a reason other
363
            than argument count mismatch.
364
            </summary>
365
        </member>
366
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.RestrictedArguments">
367
            <summary>
368
            Gets the MetaObjects which we originally did binding against in their restricted form.
369
            
370
            The members of the array correspond to each of the arguments.  All members of the array
371
            have a value.
372
            </summary>
373
        </member>
374
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.ReturnType">
375
            <summary>
376
            Returns the return type of the binding, or null if no method was applicable.
377
            </summary>
378
        </member>
379
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.NarrowingLevel">
380
            <summary>
381
            Gets the NarrowingLevel of the method if the call succeeded.
382
            If the call failed returns NarrowingLevel.None.
383
            </summary>
384
        </member>
385
        <member name="P:Microsoft.Scripting.Actions.Calls.BindingTarget.Success">
386
            <summary>
387
            Returns true if the binding was succesful, false if it failed.
388
            This is an alias for BindingTarget.Result == BindingResult.Success.
389
            </summary>
390
        </member>
391
        <member name="T:Microsoft.Scripting.Actions.Calls.CallFailure">
392
            <summary>
393
            Represents the reason why a call to a specific method could not be performed by the OverloadResolver.
394
            
395
            The reason for the failure is specified by the CallFailureReason property.  Once this property
396
            has been consulted the other properties can be consulted for more detailed information regarding
397
            the failure.
398
            
399
            If reason is ConversionFailure the ConversionResults property will be non-null.
400
            If reason is UnassignableKeyword the KeywordArguments property will be non-null and include
401
                the keywords which could not be assigned.
402
            If reason is DuplicateKeyword the KeywordArguments property will be non-null and include
403
                the keywords which were duplicated (either by the keywords themselves or by positional
404
                arguments).
405
                
406
            MethodTarget is always set and indicates the method which failed to bind.
407
            </summary>
408
        </member>
409
        <member name="P:Microsoft.Scripting.Actions.Calls.CallFailure.Candidate">
410
            <summary>
411
            Gets the MethodTarget which the call failed for.
412
            </summary>
413
        </member>
414
        <member name="P:Microsoft.Scripting.Actions.Calls.CallFailure.Reason">
415
            <summary>
416
            Gets the reason for the call failure which determines the other 
417
            properties of the CallFailure which should be consulted.
418
            </summary>
419
        </member>
420
        <member name="P:Microsoft.Scripting.Actions.Calls.CallFailure.ConversionResults">
421
            <summary>
422
            Gets a list of ConversionResult's for each parameter indicating
423
            whether the conversion was successful or failed and the types
424
            being converted.
425
            </summary>
426
        </member>
427
        <member name="P:Microsoft.Scripting.Actions.Calls.CallFailure.KeywordArguments">
428
            <summary>
429
            Gets the list of keyword arguments that were either dupliated or
430
            unassignable.
431
            </summary>
432
        </member>
433
        <member name="F:Microsoft.Scripting.Actions.Calls.CallFailureReason.None">
434
            <summary>
435
            Default value, their was no CallFailure.
436
            </summary>
437
        </member>
438
        <member name="F:Microsoft.Scripting.Actions.Calls.CallFailureReason.ConversionFailure">
439
            <summary>
440
            One of more parameters failed to be converted
441
            </summary>
442
        </member>
443
        <member name="F:Microsoft.Scripting.Actions.Calls.CallFailureReason.UnassignableKeyword">
444
            <summary>
445
            One or more keyword arguments could not be successfully assigned to a positional argument
446
            </summary>
447
        </member>
448
        <member name="F:Microsoft.Scripting.Actions.Calls.CallFailureReason.DuplicateKeyword">
449
            <summary>
450
            One or more keyword arguments were duplicated or would have taken the spot of a 
451
            provided positional argument.
452
            </summary>
453
        </member>
454
        <member name="F:Microsoft.Scripting.Actions.Calls.CallFailureReason.TypeInference">
455
            <summary>
456
            Type arguments could not be inferred
457
            </summary>
458
        </member>
459
        <member name="T:Microsoft.Scripting.Actions.Calls.CandidateSet">
460
            <summary>
461
            Represents a collection of MethodCandidate's which all accept the
462
            same number of logical parameters.  For example a params method
463
            and a method with 3 parameters would both be a CandidateSet for 3 parameters.
464
            </summary>
465
        </member>
466
        <member name="T:Microsoft.Scripting.Actions.Calls.ConversionResult">
467
            <summary>
468
            Represents information about a failure to convert an argument from one
469
            type to another.
470
            </summary>
471
        </member>
472
        <member name="P:Microsoft.Scripting.Actions.Calls.ConversionResult.Arg">
473
            <summary>
474
            Value of the argument or null if it is not available.
475
            </summary>
476
        </member>
477
        <member name="P:Microsoft.Scripting.Actions.Calls.ConversionResult.ArgType">
478
            <summary>
479
            Argument actual type or its limit type if the value not known.
480
            DynamicNull if the argument value is null.
481
            </summary>
482
        </member>
483
        <member name="T:Microsoft.Scripting.Actions.Calls.DefaultArgBuilder">
484
            <summary>
485
            ArgBuilder which provides a default parameter value for a method call.
486
            </summary>
487
        </member>
488
        <member name="P:Microsoft.Scripting.Actions.Calls.InstanceBuilder.ConsumedArgumentCount">
489
            <summary>
490
            The number of actual arguments consumed by this builder.
491
            </summary>
492
        </member>
493
        <member name="T:Microsoft.Scripting.Actions.Calls.KeywordArgBuilder">
494
            <summary>
495
            ArgBuilder which provides a value for a keyword argument.  
496
            
497
            The KeywordArgBuilder calculates its position at emit time using it's initial 
498
            offset within the keyword arguments, the number of keyword arguments, and the 
499
            total number of arguments provided by the user.  It then delegates to an 
500
            underlying ArgBuilder which only receives the single correct argument.
501
            
502
            Delaying the calculation of the position to emit time allows the method binding to be 
503
            done without knowing the exact the number of arguments provided by the user. Hence,
504
            the method binder can be dependent only on the set of method overloads and keyword names,
505
            but not the user arguments. While the number of user arguments could be determined
506
            upfront, the current MethodBinder does not have this design.
507
            </summary>
508
        </member>
509
        <member name="M:Microsoft.Scripting.Actions.Calls.KeywordArgBuilder.BuilderExpectsSingleParameter(Microsoft.Scripting.Actions.Calls.ArgBuilder)">
510
            <summary>
511
            The underlying builder should expect a single parameter as KeywordArgBuilder is responsible
512
            for calculating the correct parameter to use
513
            </summary>
514
            <param name="builder"></param>
515
        </member>
516
        <member name="T:Microsoft.Scripting.Actions.Calls.KeywordConstructorReturnBuilder">
517
            <summary>
518
            Updates fields/properties of the returned value with unused keyword parameters.
519
            </summary>
520
        </member>
521
        <member name="T:Microsoft.Scripting.Actions.Calls.MethodCandidate">
522
             <summary>
523
             MethodCandidate represents the different possible ways of calling a method or a set of method overloads.
524
             A single method can result in multiple MethodCandidates. Some reasons include:
525
             - Every optional parameter or parameter with a default value will result in a candidate
526
             - The presence of ref and out parameters will add a candidate for languages which want to return the updated values as return values.
527
             - ArgumentKind.List and ArgumentKind.Dictionary can result in a new candidate per invocation since the list might be different every time.
528
            
529
             Each MethodCandidate represents the parameter type for the candidate using ParameterWrapper.
530
             </summary>
531
        </member>
532
        <member name="M:Microsoft.Scripting.Actions.Calls.MethodCandidate.MakeParamsExtended(System.Int32,System.Collections.Generic.IList{System.String})">
533
            <summary>
534
            Builds a new MethodCandidate which takes count arguments and the provided list of keyword arguments.
535
            
536
            The basic idea here is to figure out which parameters map to params or a dictionary params and
537
            fill in those spots w/ extra ParameterWrapper's.  
538
            </summary>
539
        </member>
540
        <member name="T:Microsoft.Scripting.Actions.Calls.NarrowingLevel">
541
            <summary>
542
            Narrowing conversions are conversions that cannot be proved to always succeed, conversions that are 
543
            known to possibly lose information, and conversions across domains of types sufficiently different 
544
            to merit narrowing notation like casts. 
545
            
546
            Its upto every language to define the levels for conversions. The narrowling levels can be used by
547
            for method overload resolution, where the overload is based on the parameter types (and not the number 
548
            of parameters).
549
            </summary>
550
        </member>
551
        <member name="F:Microsoft.Scripting.Actions.Calls.NarrowingLevel.None">
552
            <summary>
553
            Conversions at this level do not do any narrowing. Typically, this will include
554
            implicit numeric conversions, Type.IsAssignableFrom, StringBuilder to string, etc.
555
            </summary>
556
        </member>
557
        <member name="F:Microsoft.Scripting.Actions.Calls.NarrowingLevel.One">
558
            <summary>
559
            Language defined prefered narrowing conversion.  First level that introduces narrowing
560
            conversions.
561
            </summary>
562
        </member>
563
        <member name="F:Microsoft.Scripting.Actions.Calls.NarrowingLevel.Two">
564
            <summary>
565
            Language defined preferred narrowing conversion.  Second level that introduces narrowing
566
            conversions and should have more conversions than One.
567
            </summary>
568
        </member>
569
        <member name="F:Microsoft.Scripting.Actions.Calls.NarrowingLevel.Three">
570
            <summary>
571
            Language defined preferred narrowing conversion.  Third level that introduces narrowing
572
            conversions and should have more conversions that Two.
573
            </summary>
574
        </member>
575
        <member name="F:Microsoft.Scripting.Actions.Calls.NarrowingLevel.All">
576
            <summary>
577
            A somewhat meaningful conversion is possible, but it will quite likely be lossy.
578
            For eg. BigInteger to an Int32, Boolean to Int32, one-char string to a char,
579
            larger number type to a smaller numeric type (where there is no overflow), etc
580
            </summary>
581
        </member>
582
        <member name="T:Microsoft.Scripting.Actions.Calls.OutArgBuilder">
583
            <summary>
584
            Builds the argument for an out argument when not passed a StrongBox.  The out parameter
585
            is returned as an additional return value.
586
            </summary>
587
        </member>
588
        <member name="T:Microsoft.Scripting.Actions.Calls.OverloadInfo">
589
            <summary>
590
            Defines a method overload abstraction for the purpose of overload resolution. 
591
            It provides the overload resolver the metadata it needs to perform the resolution.
592
            </summary>
593
            <remarks>
594
            WARNING: This is a temporary API that will undergo breaking changes in future versions.
595
            </remarks>
596
        </member>
597
        <member name="P:Microsoft.Scripting.Actions.Calls.OverloadInfo.ReturnParameter">
598
            <summary>
599
            Null for constructors.
600
            </summary>
601
        </member>
602
        <member name="P:Microsoft.Scripting.Actions.Calls.OverloadInfo.IsVariadic">
603
            <summary>
604
            The method arity can vary, i.e. the method has params array or params dict parameters.
605
            </summary>
606
        </member>
607
        <member name="T:Microsoft.Scripting.Actions.Calls.ReflectionOverloadInfo">
608
            <summary>
609
            Represents a method overload that is bound to a <see cref="T:System.Reflection.MethodBase"/>.
610
            </summary>
611
            <remarks>
612
            Not thread safe.
613
            WARNING: This is a temporary API that will undergo breaking changes in future versions. 
614
            </remarks>
615
        </member>
616
        <member name="T:Microsoft.Scripting.Actions.Calls.OverloadResolver">
617
            <summary>
618
            Provides binding and overload resolution to .NET methods.
619
            
620
            MethodBinder's can be used for:
621
                generating new AST code for calling a method 
622
                calling a method via reflection at runtime
623
                (not implemented) performing an abstract call
624
                
625
            MethodBinder's support default arguments, optional arguments, by-ref (in and out), and keyword arguments.
626
            
627
            Implementation Details:
628
            
629
            The MethodBinder works by building up a CandidateSet for each number of effective arguments that can be
630
            passed to a set of overloads.  For example a set of overloads such as:
631
                foo(object a, object b, object c)
632
                foo(int a, int b)
633
                
634
            would have 2 target sets - one for 3 parameters and one for 2 parameters.  For parameter arrays
635
            we fallback and create the appropriately sized CandidateSet on demand.
636
            
637
            Each CandidateSet consists of a set of MethodCandidate's.  Each MethodCandidate knows the flattened
638
            parameters that could be received.  For example for a function such as:
639
                foo(params int[] args)
640
                
641
            When this method is in a CandidateSet of size 3 the MethodCandidate takes 3 parameters - all of them
642
            ints; if it's in a CandidateSet of size 4 it takes 4 parameters.  Effectively a MethodCandidate is 
643
            a simplified view that allows all arguments to be treated as required positional arguments.
644
            
645
            Each MethodCandidate in turn refers to a MethodTarget.  The MethodTarget is composed of a set
646
            of ArgBuilder's and a ReturnBuilder which know how to consume the positional arguments and pass
647
            them to the appropriate argument of the destination method.  This includes routing keyword
648
            arguments to the correct position, providing the default values for optional arguments, etc...
649
            
650
            After binding is finished the MethodCandidates are thrown away and a BindingTarget is returned. 
651
            The BindingTarget indicates whether the binding was successful and if not any additional information
652
            that should be reported to the user about the failed binding.  It also exposes the MethodTarget which
653
            allows consumers to get the flattened list of required parameters for the call.  MethodCandidates
654
            are not exposed and are an internal implementation detail of the MethodBinder.
655
            </summary>
656
        </member>
657
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.ResolveOverload(System.String,System.Collections.Generic.IList{System.Reflection.MethodBase},Microsoft.Scripting.Actions.Calls.NarrowingLevel,Microsoft.Scripting.Actions.Calls.NarrowingLevel)">
658
            <summary>
659
            Resolves a method overload and returns back a BindingTarget.
660
            
661
            The BindingTarget can then be tested for the success or particular type of
662
            failure that prevents the method from being called. If successfully bound the BindingTarget
663
            contains a list of argument meta-objects with additional restrictions that ensure the selection
664
            of the particular overload.
665
            </summary>
666
        </member>
667
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.AllowMemberInitialization(Microsoft.Scripting.Actions.Calls.OverloadInfo)">
668
            <summary>
669
            Checks to see if the language allows named arguments to be bound to instance fields or
670
            properties and turned into setters. By default this is only allowed on contructors.
671
            </summary>
672
        </member>
673
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.GetByRefArrayExpression(System.Linq.Expressions.Expression)">
674
            <summary>
675
            Gets an expression that evaluates to the result of GetByRefArray operation.
676
            </summary>
677
        </member>
678
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.BindToUnexpandedParams(Microsoft.Scripting.Actions.Calls.MethodCandidate)">
679
            <summary>
680
            Allow to bind an array/dictionary instance or a null reference to params array/dictionary parameter.
681
            </summary>
682
        </member>
683
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.MapSpecialParameters(Microsoft.Scripting.Actions.Calls.ParameterMapping)">
684
            <summary>
685
            Called before arguments binding.
686
            </summary>
687
            <returns>
688
            A bitmask that indicates (set bits) the parameters that were mapped by this method.
689
            A default mapping will be constructed for the remaining parameters (cleared bits).
690
            </returns>
691
        </member>
692
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.CreateActualArguments(System.Collections.Generic.IList{System.Dynamic.DynamicMetaObject},System.Collections.Generic.IList{System.String},System.Int32,System.Int32)">
693
            <summary>
694
            Return null if arguments cannot be constructed and overload resolution should produce an error.
695
            </summary>
696
        </member>
697
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.IsOverloadedOnParameter(System.Int32,System.Int32,System.Collections.Generic.IList{Microsoft.Scripting.Actions.Calls.ApplicableCandidate})">
698
            <summary>
699
            Determines whether given overloads are overloaded on index-th parameter (the types of the index-th parameters are the same).
700
            </summary>
701
        </member>
702
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.SelectBestConversionFor(System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.Calls.ParameterWrapper,Microsoft.Scripting.Actions.Calls.ParameterWrapper,Microsoft.Scripting.Actions.Calls.NarrowingLevel)">
703
            <summary>
704
            Selects the best (of two) candidates for conversion from actualType
705
            </summary>
706
        </member>
707
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.PreferConvert(System.Type,System.Type)">
708
            <summary>
709
            Provides ordering for two parameter types if there is no conversion between the two parameter types.
710
            </summary>
711
        </member>
712
        <member name="M:Microsoft.Scripting.Actions.Calls.OverloadResolver.GetSplattedItemExpression(System.Linq.Expressions.Expression)">
713
            <summary>
714
            The method is called each time an item of lazily splatted argument is needed.
715
            </summary>
716
        </member>
717
        <member name="M:Microsoft.Scripting.Actions.Calls.ParameterMapping.MapParameterReduceByRef(System.Reflection.ParameterInfo)">
718
            <summary>
719
            Maps out parameters to return args and ref parameters to ones that don't accept StrongBox.
720
            </summary>
721
        </member>
722
        <member name="T:Microsoft.Scripting.Actions.Calls.ParameterWrapper">
723
            <summary>
724
            ParameterWrapper represents the logical view of a parameter. For eg. the byref-reduced signature
725
            of a method with byref parameters will be represented using a ParameterWrapper of the underlying
726
            element type, since the logical view of the byref-reduced signature is that the argument will be
727
            passed by value (and the updated value is included in the return value).
728
            
729
            Contrast this with ArgBuilder which represents the real physical argument passed to the method.
730
            </summary>
731
        </member>
732
        <member name="M:Microsoft.Scripting.Actions.Calls.ParameterWrapper.#ctor(System.Type,System.String,System.Boolean)">
733
            <summary>
734
            ParameterInfo is not available.
735
            </summary>
736
        </member>
737
        <member name="P:Microsoft.Scripting.Actions.Calls.ParameterWrapper.IsParamsArray">
738
            <summary>
739
            True if the wrapper represents a params-array parameter (false for parameters created by expansion of a params-array).
740
            </summary>
741
        </member>
742
        <member name="P:Microsoft.Scripting.Actions.Calls.ParameterWrapper.IsParamsDict">
743
            <summary>
744
            True if the wrapper represents a params-dict parameter (false for parameters created by expansion of a params-dict).
745
            </summary>
746
        </member>
747
        <member name="M:Microsoft.Scripting.Actions.Calls.ParameterWrapper.Expand">
748
            <summary>
749
            Creates a parameter that represents an expanded item of params-array.
750
            </summary>
751
        </member>
752
        <member name="T:Microsoft.Scripting.Actions.Calls.ParamsDictArgBuilder">
753
            <summary>
754
            Builds the parameter for a params dictionary argument - this collects all the extra name/value
755
            pairs provided to the function into a SymbolDictionary which is passed to the function.
756
            </summary>
757
        </member>
758
        <member name="T:Microsoft.Scripting.Actions.Calls.ReferenceArgBuilder">
759
            <summary>
760
            An argument that the user wants to explicitly pass by-reference (with copy-in copy-out semantics).
761
            The user passes a StrongBox[T] object whose value will get updated when the call returns.
762
            </summary>
763
        </member>
764
        <member name="P:Microsoft.Scripting.Actions.Calls.RestrictedArguments.HasUntypedRestrictions">
765
            <summary>
766
            True if there are restrictions beyond just simple type restrictions
767
            </summary>
768
        </member>
769
        <member name="M:Microsoft.Scripting.Actions.Calls.ReturnBuilder.#ctor(System.Type)">
770
            <summary>
771
            Creates a ReturnBuilder
772
            </summary>
773
            <param name="returnType">the type the ReturnBuilder will leave on the stack</param>
774
        </member>
775
        <member name="T:Microsoft.Scripting.Actions.Calls.ReturnReferenceArgBuilder">
776
            <summary>
777
            Builds a parameter for a reference argument when a StrongBox has not been provided.  The
778
            updated return value is returned as one of the resulting return values.
779
            </summary>
780
        </member>
781
        <member name="T:Microsoft.Scripting.Actions.Calls.SimpleArgBuilder">
782
            <summary>
783
            SimpleArgBuilder produces the value produced by the user as the argument value.  It
784
            also tracks information about the original parameter and is used to create extended
785
            methods for params arrays and param dictionary functions.
786
            </summary>
787
        </member>
788
        <member name="M:Microsoft.Scripting.Actions.Calls.SimpleArgBuilder.#ctor(System.Type,System.Int32,System.Boolean,System.Boolean)">
789
            <summary>
790
            Parameter info is not available for this argument.
791
            </summary>
792
        </member>
793
        <member name="M:Microsoft.Scripting.Actions.Calls.SimpleArgBuilder.#ctor(System.Reflection.ParameterInfo,System.Int32)">
794
            <summary>
795
            Type and whether the parameter is a params-array or params-dictionary is derived from info.
796
            </summary>
797
        </member>
798
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.GetGenericArgumentsForInferedMethod(Microsoft.Scripting.Actions.Calls.OverloadInfo,System.Collections.Generic.Dictionary{System.Type,System.Type})">
799
            <summary>
800
            Gets the generic arguments for method based upon the constraints discovered during
801
            type inference.  Returns null if not all generic arguments had their types inferred.
802
            </summary>
803
        </member>
804
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.CreateNewArgBuilders(Microsoft.Scripting.Actions.Calls.MethodCandidate,Microsoft.Scripting.Actions.Calls.OverloadInfo)">
805
            <summary>
806
            Creates a new set of arg builders for the given generic method definition which target the new
807
            parameters.
808
            </summary>
809
        </member>
810
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.CreateNewWrappers(Microsoft.Scripting.Actions.Calls.MethodCandidate,Microsoft.Scripting.Actions.Calls.OverloadInfo,Microsoft.Scripting.Actions.Calls.OverloadInfo)">
811
            <summary>
812
            Creates a new list of ParameterWrappers for the generic method replacing the old parameters with the new ones.
813
            </summary>
814
        </member>
815
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.GetSortedGenericArguments(Microsoft.Scripting.Actions.Calls.OverloadInfo,System.Collections.Generic.Dictionary{System.Type,System.Collections.Generic.List{System.Type}})">
816
            <summary>
817
            Gets the generic type arguments sorted so that the type arguments
818
            that are depended upon by other type arguments are sorted before
819
            their dependencies.
820
            </summary>
821
        </member>
822
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.IsDependentConstraint(System.Collections.Generic.Dictionary{System.Type,System.Collections.Generic.List{System.Type}},System.Type,System.Type)">
823
            <summary>
824
            Checks to see if the x type parameter is dependent upon the y type parameter.
825
            </summary>
826
        </member>
827
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.GetDependencyMapping(Microsoft.Scripting.Actions.Calls.OverloadInfo)">
828
            <summary>
829
            Builds a mapping based upon generic parameter constraints between related generic
830
            parameters.  This is then used to sort the generic parameters so that we can process
831
            the least dependent parameters first.  For example given the method:
832
            
833
            void Foo{T0, T1}(T0 x, T1 y) where T0 : T1 
834
            
835
            We need to first infer the type information for T1 before we infer the type information
836
            for T0 so that we can ensure the constraints are correct.
837
            </summary>
838
        </member>
839
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.GetArgumentToInputMapping(Microsoft.Scripting.Actions.Calls.MethodCandidate,System.Collections.Generic.IList{System.Dynamic.DynamicMetaObject})">
840
            <summary>
841
            Returns a mapping from generic type parameter to the input DMOs which map to it.
842
            </summary>
843
        </member>
844
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.AddOneInput(System.Collections.Generic.Dictionary{System.Type,Microsoft.Scripting.Actions.Calls.TypeInferer.ArgumentInputs},System.Dynamic.DynamicMetaObject,System.Type)">
845
            <summary>
846
            Adds any additional ArgumentInputs entries for the given object and parameter type.
847
            </summary>
848
        </member>
849
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.CollectGenericParameters(System.Type,System.Collections.Generic.List{System.Type})">
850
            <summary>
851
            Walks the nested generic hierarchy to construct all of the generic parameters referred
852
            to by this type.  For example if getting the generic parameters for the x parameter on
853
            the method:
854
            
855
            void Foo{T0, T1}(Dictionary{T0, T1} x);
856
            
857
            We would add both typeof(T0) and typeof(T1) to the list of generic arguments.
858
            </summary>
859
        </member>
860
        <member name="T:Microsoft.Scripting.Actions.Calls.TypeInferer.ArgumentInputs">
861
            <summary>
862
            Maps a single type parameter to the possible parameters and DynamicMetaObjects
863
            we can get inference from.  For example for the signature:
864
            
865
            void Foo{T0, T1}(T0 x, T1 y, IList{T1} z);
866
            
867
            We would have one ArgumentInput for T0 which holds onto the DMO providing the argument
868
            value for x.  We would also have one ArgumentInput for T1 which holds onto the 2 DMOs
869
            for y and z.  Associated with y would be a GenericParameterInferer and associated with
870
            z would be a ConstructedParameterInferer.
871
            </summary>
872
        </member>
873
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.GetInferedType(Microsoft.Scripting.Actions.Calls.OverloadResolver,System.Type,System.Type,System.Dynamic.DynamicMetaObject,System.Collections.Generic.Dictionary{System.Type,System.Type},System.Collections.Generic.Dictionary{System.Dynamic.DynamicMetaObject,System.Dynamic.BindingRestrictions})">
874
            <summary>
875
            Provides generic type inference for a single parameter.
876
            </summary>
877
            <remarks>
878
            For example: 
879
              M{T}(T x)
880
              M{T}(IList{T} x)
881
              M{T}(ref T x)
882
              M{T}(T[] x)
883
              M{T}(ref Dictionary{T,T}[] x)
884
            </remarks>
885
        </member>
886
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.GetInferedType(System.Type,System.Type,System.Type,System.Type,System.Collections.Generic.Dictionary{System.Type,System.Type})">
887
            <summary>
888
            Provides generic type inference for a single parameter.
889
            </summary>
890
            <remarks>
891
            For example: 
892
              M{T}(T x)
893
              M{T}(IList{T} x)
894
              M{T}(ref T x)
895
              M{T}(T[] x)
896
              M{T}(ref Dictionary{T,T}[] x)
897
            </remarks>
898
        </member>
899
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.ConstraintsViolated(System.Type,System.Type,System.Collections.Generic.Dictionary{System.Type,System.Type})">
900
            <summary>
901
            Checks if the constraints are violated by the given input for the specified generic method parameter.
902
            
903
            This method must be supplied with a mapping for any dependent generic method type parameters which
904
            this one can be constrained to.  For example for the signature "void Foo{T0, T1}(T0 x, T1 y) where T0 : T1".
905
            we cannot know if the constraints are violated unless we know what we have calculated T1 to be.
906
            </summary>
907
        </member>
908
        <member name="M:Microsoft.Scripting.Actions.Calls.TypeInferer.MatchGenericParameter(System.Type,System.Type,System.Type,System.Collections.Generic.Dictionary{System.Type,System.Type},System.Type@)">
909
            <summary>
910
            Finds all occurences of <c>genericParameter</c> in <c>openType</c> and the corresponding concrete types in <c>closedType</c>.
911
            Returns true iff all occurences of the generic parameter in the open type correspond to the same concrete type in the closed type 
912
            and this type satisfies given <c>constraints</c>. Returns the concrete type in <c>match</c> if so.
913
            </summary>
914
        </member>
915
        <member name="T:Microsoft.Scripting.Actions.Calls.IInferableInvokable">
916
            <summary>
917
            Implemented by DynamicMetaObject subclasses when the associated object
918
            can participate in generic method type inference.  This interface
919
            is used when the inference engine is attempting to perform type inference
920
            for a parameter which is typed to a delegate type.
921
            </summary>
922
        </member>
923
        <member name="M:Microsoft.Scripting.Actions.Calls.IInferableInvokable.GetInferredType(System.Type,System.Type)">
924
            <summary>
925
            Returns the type inferred for parameterType when performing
926
            inference for a conversion to delegateType.
927
            </summary>
928
        </member>
929
        <member name="T:Microsoft.Scripting.Actions.Calls.InferenceResult">
930
            <summary>
931
            Provides information about the result of a custom object which dynamically
932
            infers back types.
933
            
934
            Currently only used for invokable objects to feedback the types for a delegate
935
            type.
936
            </summary>
937
        </member>
938
        <member name="T:Microsoft.Scripting.Actions.ComboActionRewriter">
939
            <summary>
940
            A tree rewriter which will find dynamic sites which consume dynamic sites and
941
            turn them into a single combo dynamic site.  The combo dynamic site will then run the
942
            individual meta binders and produce the resulting code in a single dynamic site.
943
            </summary>
944
        </member>
945
        <member name="T:Microsoft.Scripting.Actions.ComboActionRewriter.ComboDynamicSiteExpression">
946
            <summary>
947
            A reducible node which we use to generate the combo dynamic sites.  Each time we encounter
948
            a dynamic site we replace it with a ComboDynamicSiteExpression.  When a child of a dynamic site
949
            turns out to be a ComboDynamicSiteExpression we will then merge the child with the parent updating
950
            the binding mapping info.  If any of the inputs cause side effects then we'll stop the combination.
951
            </summary>
952
        </member>
953
        <member name="T:Microsoft.Scripting.Actions.ComboBinder">
954
            <summary>
955
            A binder which can combine multiple binders into a single dynamic site.  The creator
956
            of this needs to perform the mapping of parameters, constants, and sub-site expressions
957
            and provide a List of BinderMappingInfo representing this data.  From there the ComboBinder
958
            just processes the list to create the resulting code.
959
            </summary>
960
        </member>
961
        <member name="T:Microsoft.Scripting.Actions.ParameterMappingInfo">
962
            <summary>
963
            Provides a mapping for inputs of combo action expressions.  The input can map
964
            to either an input of the new dynamic site, an input of a previous DynamicExpression,
965
            or a ConstantExpression which has been pulled out of the dynamic site arguments.
966
            </summary>
967
        </member>
968
        <member name="T:Microsoft.Scripting.Actions.BinderMappingInfo">
969
            <summary>
970
            Contains the mapping information for a single Combo Binder.  This includes the original
971
            meta-binder and the mapping of parameters, sub-sites, and constants into the binding.
972
            </summary>
973
        </member>
974
        <member name="T:Microsoft.Scripting.Actions.ConditionalBuilder">
975
            <summary>
976
            Builds up a series of conditionals when the False clause isn't yet known.  We can
977
            keep appending conditions and if true's.  Each subsequent true branch becomes the
978
            false branch of the previous condition and body.  Finally a non-conditional terminating
979
            branch must be added.
980
            </summary>
981
        </member>
982
        <member name="M:Microsoft.Scripting.Actions.ConditionalBuilder.AddCondition(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)">
983
            <summary>
984
            Adds a new conditional and body.  The first call this becomes the top-level
985
            conditional, subsequent calls will have it added as false statement of the
986
            previous conditional.
987
            </summary>
988
        </member>
989
        <member name="M:Microsoft.Scripting.Actions.ConditionalBuilder.FinishCondition(System.Linq.Expressions.Expression)">
990
            <summary>
991
            Adds the non-conditional terminating node.
992
            </summary>
993
        </member>
994
        <member name="M:Microsoft.Scripting.Actions.ConditionalBuilder.FinishError(System.Linq.Expressions.Expression)">
995
            <summary>
996
            Adds the non-conditional terminating node.
997
            </summary>
998
        </member>
999
        <member name="M:Microsoft.Scripting.Actions.ConditionalBuilder.GetMetaObject(System.Dynamic.DynamicMetaObject[])">
1000
            <summary>
1001
            Gets the resulting meta object for the full body.  FinishCondition
1002
            must have been called.
1003
            </summary>
1004
        </member>
1005
        <member name="M:Microsoft.Scripting.Actions.ConditionalBuilder.AddVariable(System.Linq.Expressions.ParameterExpression)">
1006
            <summary>
1007
            Adds a variable which will be scoped at the level of the final expression.
1008
            </summary>
1009
        </member>
1010
        <member name="T:Microsoft.Scripting.Actions.ConversionResultKind">
1011
            <summary>
1012
            Determines the result of a conversion action.  The result can either result in an exception, a value that
1013
            has been successfully converted or default(T), or a true/false result indicating if the value can be converted.
1014
            </summary>
1015
        </member>
1016
        <member name="F:Microsoft.Scripting.Actions.ConversionResultKind.ImplicitCast">
1017
            <summary>
1018
            Attempts to perform available implicit conversions and throws if there are no available conversions.
1019
            </summary>
1020
        </member>
1021
        <member name="F:Microsoft.Scripting.Actions.ConversionResultKind.ExplicitCast">
1022
            <summary>
1023
            Attempst to perform available implicit and explicit conversions and throws if there are no available conversions.
1024
            </summary>
1025
        </member>
1026
        <member name="F:Microsoft.Scripting.Actions.ConversionResultKind.ImplicitTry">
1027
            <summary>
1028
            Attempts to perform available implicit conversions and returns default(ReturnType) if no conversions can be performed.
1029
            
1030
            If the return type of the rule is a value type then the return value will be zero-initialized.  If the return type
1031
            of the rule is object or another class then the return type will be null (even if the conversion is to a value type).
1032
            This enables ImplicitTry to be used to do TryConvertTo even if the type is value type (and the difference between
1033
            null and a real value can be distinguished).
1034
            </summary>
1035
        </member>
1036
        <member name="F:Microsoft.Scripting.Actions.ConversionResultKind.ExplicitTry">
1037
            <summary>
1038
            Attempts to perform available implicit and explicit conversions and returns default(ReturnType) if no conversions 
1039
            can be performed.
1040
            
1041
            If the return type of the rule is a value type then the return value will be zero-initialized.  If the return type
1042
            of the rule is object or another class then the return type will be null (even if the conversion is to a value type).
1043
            This enables ExplicitTry to be used to do TryConvertTo even if the type is value type (and the difference between
1044
            null and a real value can be distinguished).
1045
            </summary>
1046
        </member>
1047
        <member name="T:Microsoft.Scripting.Actions.CustomTracker">
1048
            <summary>
1049
            A custom member tracker which enables languages to plug in arbitrary
1050
            members into the lookup process.
1051
            </summary>
1052
        </member>
1053
        <member name="T:Microsoft.Scripting.Actions.DefaultBinder">
1054
            <summary>
1055
            Provides binding semantics for a language.  This include conversions as well as support
1056
            for producing rules for actions.  These optimized rules are used for calling methods, 
1057
            performing operators, and getting members using the ActionBinder's conversion semantics.
1058
            </summary>
1059
        </member>
1060
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryConvertToObject(System.Type,System.Type,System.Dynamic.DynamicMetaObject,System.Dynamic.BindingRestrictions)">
1061
            <summary>
1062
            Checks if the conversion is to object and produces a target if it is.
1063
            </summary>
1064
        </member>
1065
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryAllConversions(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Type,Microsoft.Scripting.Actions.ConversionResultKind,System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1066
            <summary>
1067
            Checks if any conversions are available and if so builds the target for that conversion.
1068
            </summary>
1069
        </member>
1070
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryAssignableConversion(System.Type,System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1071
            <summary>
1072
            Checks if the conversion can be handled by a simple cast.
1073
            </summary>
1074
        </member>
1075
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryUserDefinedConversion(Microsoft.Scripting.Actions.ConversionResultKind,System.Type,System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1076
            <summary>
1077
            Checks if the conversion can be handled by calling a user-defined conversion method.
1078
            </summary>
1079
        </member>
1080
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryOneConversion(Microsoft.Scripting.Actions.ConversionResultKind,System.Type,System.Type,System.Type,System.String,System.Boolean,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1081
            <summary>
1082
            Helper that checkes both types to see if either one defines the specified conversion
1083
            method.
1084
            </summary>
1085
        </member>
1086
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryUserDefinedConversion(Microsoft.Scripting.Actions.ConversionResultKind,System.Type,System.Type,Microsoft.Scripting.Actions.MemberGroup,System.Boolean,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1087
            <summary>
1088
            Checks if any of the members of the MemberGroup provide the applicable conversion and 
1089
            if so uses it to build a conversion rule.
1090
            </summary>
1091
        </member>
1092
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryExtensibleConversion(System.Type,System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1093
            <summary>
1094
            Checks if the conversion is to applicable by extracting the value from Extensible of T.
1095
            </summary>
1096
        </member>
1097
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryImplicitNumericConversion(System.Type,System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1098
            <summary>
1099
            Checks if there's an implicit numeric conversion for primitive data types.
1100
            </summary>
1101
        </member>
1102
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryNullableConversion(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Type,Microsoft.Scripting.Actions.ConversionResultKind,System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1103
            <summary>
1104
            Checks if there's a conversion to/from Nullable of T.
1105
            </summary>
1106
        </member>
1107
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryNullConversion(System.Type,System.Type,System.Dynamic.BindingRestrictions)">
1108
            <summary>
1109
            Checks to see if there's a conversion of null to a reference type
1110
            </summary>
1111
        </member>
1112
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeErrorTarget(System.Type,Microsoft.Scripting.Actions.ConversionResultKind,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1113
            <summary>
1114
            Helper to produce an error when a conversion cannot occur
1115
            </summary>
1116
        </member>
1117
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeBoxingTarget(System.Dynamic.DynamicMetaObject,System.Dynamic.BindingRestrictions)">
1118
            <summary>
1119
            Helper to produce a rule which just boxes a value type
1120
            </summary>
1121
        </member>
1122
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeConversionTarget(Microsoft.Scripting.Actions.ConversionResultKind,Microsoft.Scripting.Actions.MethodTracker,System.Type,System.Boolean,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1123
            <summary>
1124
            Helper to produce a conversion rule by calling the helper method to do the convert
1125
            </summary>
1126
        </member>
1127
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeExtensibleConversionTarget(Microsoft.Scripting.Actions.ConversionResultKind,Microsoft.Scripting.Actions.MethodTracker,System.Type,System.Boolean,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1128
            <summary>
1129
            Helper to produce a conversion rule by calling the helper method to do the convert
1130
            </summary>
1131
        </member>
1132
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeConversionTargetWorker(Microsoft.Scripting.Actions.ConversionResultKind,Microsoft.Scripting.Actions.MethodTracker,System.Boolean,System.Dynamic.BindingRestrictions,System.Linq.Expressions.Expression)">
1133
            <summary>
1134
            Helper to produce a conversion rule by calling the method to do the convert.  This version takes the parameter
1135
            to be passed to the conversion function and we call it w/ our own value or w/ our Extensible.Value.
1136
            </summary>
1137
        </member>
1138
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.WrapForThrowingTry(Microsoft.Scripting.Actions.ConversionResultKind,System.Boolean,System.Linq.Expressions.Expression,System.Type)">
1139
            <summary>
1140
            Helper to wrap explicit conversion call into try/catch incase it throws an exception.  If
1141
            it throws the default value is returned.
1142
            </summary>
1143
        </member>
1144
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeSimpleConversionTarget(System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1145
            <summary>
1146
            Helper to produce a rule when no conversion is required (the strong type of the expression
1147
            input matches the type we're converting to or has an implicit conversion at the IL level)
1148
            </summary>
1149
        </member>
1150
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeSimpleExtensibleConversionTarget(System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1151
            <summary>
1152
            Helper to produce a rule when no conversion is required from an extensible type's
1153
            underlying storage to the type we're converting to.  The type of extensible type
1154
            matches the type we're converting to or has an implicit conversion at the IL level.
1155
            </summary>
1156
        </member>
1157
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeExtensibleTarget(System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1158
            <summary>
1159
            Helper to extract the value from an Extensible of T
1160
            </summary>
1161
        </member>
1162
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeNullToNullableOfTTarget(System.Type,System.Dynamic.BindingRestrictions)">
1163
            <summary>
1164
            Helper to convert a null value to nullable of T
1165
            </summary>
1166
        </member>
1167
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeTToNullableOfTTarget(System.Type,System.Type,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1168
            <summary>
1169
            Helper to produce the rule for converting T to Nullable of T
1170
            </summary>
1171
        </member>
1172
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeConvertingToTToNullableOfTTarget(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Type,Microsoft.Scripting.Actions.ConversionResultKind,System.Dynamic.BindingRestrictions,System.Dynamic.DynamicMetaObject)">
1173
            <summary>
1174
            Helper to produce the rule for converting T to Nullable of T
1175
            </summary>
1176
        </member>
1177
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetTryConvertReturnValue(System.Type)">
1178
            <summary>
1179
            Returns a value which indicates failure when a OldConvertToAction of ImplicitTry or
1180
            ExplicitTry.
1181
            </summary>
1182
        </member>
1183
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetExtensibleValue(System.Type,System.Dynamic.DynamicMetaObject)">
1184
            <summary>
1185
            Helper to extract the Value of an Extensible of T from the
1186
            expression being converted.
1187
            </summary>
1188
        </member>
1189
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetUnderlyingType(System.Type)">
1190
            <summary>
1191
            Helper that checks if fromType is an Extensible of T or a subtype of 
1192
            Extensible of T and if so returns the T.  Otherwise it returns fromType.
1193
            
1194
            This is used to treat extensible types the same as their underlying types.
1195
            </summary>
1196
        </member>
1197
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeNullTarget(System.Type,System.Dynamic.BindingRestrictions)">
1198
            <summary>
1199
            Creates a target which returns null for a reference type.
1200
            </summary>
1201
        </member>
1202
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeUndeletableMemberError(System.Type,System.String)">
1203
            <summary>
1204
            Provides a way for the binder to provide a custom error message when lookup fails.  Just
1205
            doing this for the time being until we get a more robust error return mechanism.
1206
            </summary>
1207
        </member>
1208
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeNonPublicMemberGetError(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.MemberTracker,System.Type,System.Dynamic.DynamicMetaObject)">
1209
            <summary>
1210
            Called when the user is accessing a protected or private member on a get.
1211
            
1212
            The default implementation allows access to the fields or properties using reflection.
1213
            </summary>
1214
        </member>
1215
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeReadOnlyMemberError(System.Type,System.String)">
1216
            <summary>
1217
            Provides a way for the binder to provide a custom error message when lookup fails.  Just
1218
            doing this for the time being until we get a more robust error return mechanism.
1219
            </summary>
1220
        </member>
1221
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeOperatorDeleteMemberBody(Microsoft.Scripting.Actions.DefaultBinder.SetOrDeleteMemberInfo,System.Dynamic.DynamicMetaObject,System.Type,System.String)">
1222
            <summary> if a member-injector is defined-on or registered-for this type call it </summary>
1223
        </member>
1224
        <member name="T:Microsoft.Scripting.Actions.DefaultBinder.SetOrDeleteMemberInfo">
1225
            <summary>
1226
            Helper class for flowing information about the GetMember request.
1227
            </summary>
1228
        </member>
1229
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetMember(System.String,System.Dynamic.DynamicMetaObject)">
1230
            <summary>
1231
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1232
            GetBoundMember, and StrongBox instances.
1233
            </summary>
1234
            <param name="name">
1235
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1236
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1237
            </param>
1238
            <param name="target">
1239
            The MetaObject from which the member is retrieved.
1240
            </param>
1241
            <returns>
1242
            Returns a DynamicMetaObject which represents the value that will be returned when the member is accessed.
1243
            
1244
            The returned DynamicMetaObject may be strongly typed to a value type which needs boxing before being
1245
            returned from a standard DLR GetMemberBinder.  The language is responsible for performing any boxing
1246
            so that it has an opportunity to perform custom boxing.
1247
            </returns>
1248
        </member>
1249
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetMember(System.String,System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory)">
1250
            <summary>
1251
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1252
            GetBoundMember, and StrongBox instances.
1253
            </summary>
1254
            <param name="name">
1255
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1256
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1257
            </param>
1258
            <param name="target">
1259
            The MetaObject from which the member is retrieved.
1260
            </param>
1261
            <param name="resolverFactory">
1262
            Provides overload resolution and method binding for any calls which need to be performed for the GetMember.
1263
            </param>
1264
            <returns>
1265
            Returns a DynamicMetaObject which represents the value that will be returned when the member is accessed.
1266
            
1267
            The returned DynamicMetaObject may be strongly typed to a value type which needs boxing before being
1268
            returned from a standard DLR GetMemberBinder.  The language is responsible for performing any boxing
1269
            so that it has an opportunity to perform custom boxing.
1270
            </returns>
1271
        </member>
1272
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetMember(System.String,System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Boolean,System.Dynamic.DynamicMetaObject)">
1273
            <summary>
1274
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1275
            GetBoundMember, and StrongBox instances.
1276
            </summary>
1277
            <param name="name">
1278
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1279
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1280
            </param>
1281
            <param name="target">
1282
            The MetaObject from which the member is retrieved.
1283
            </param>
1284
            <param name="resolverFactory">
1285
            An OverloadResolverFactory which can be used for performing overload resolution and method binding.
1286
            </param>
1287
            <param name="isNoThrow">
1288
            True if the operation should return Operation.Failed on failure, false if it
1289
            should return the exception produced by MakeMissingMemberError.
1290
            </param>
1291
            <param name="errorSuggestion">
1292
            The meta object to be used if the get results in an error.
1293
            </param>
1294
            <returns>
1295
            Returns a DynamicMetaObject which represents the value that will be returned when the member is accessed.
1296
            
1297
            The returned DynamicMetaObject may be strongly typed to a value type which needs boxing before being
1298
            returned from a standard DLR GetMemberBinder.  The language is responsible for performing any boxing
1299
            so that it has an opportunity to perform custom boxing.
1300
            </returns>
1301
        </member>
1302
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetMember(System.String,System.Dynamic.DynamicMetaObject,System.Boolean,System.Dynamic.DynamicMetaObject)">
1303
            <summary>
1304
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1305
            GetBoundMember, and StrongBox instances.
1306
            </summary>
1307
            <param name="name">
1308
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1309
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1310
            </param>
1311
            <param name="target">
1312
            The MetaObject from which the member is retrieved.
1313
            </param>
1314
            <param name="isNoThrow">
1315
            True if the operation should return Operation.Failed on failure, false if it
1316
            should return the exception produced by MakeMissingMemberError.
1317
            </param>
1318
            <param name="errorSuggestion">
1319
            The meta object to be used if the get results in an error.
1320
            </param>
1321
            <returns>
1322
            Returns a DynamicMetaObject which represents the value that will be returned when the member is accessed.
1323
            
1324
            The returned DynamicMetaObject may be strongly typed to a value type which needs boxing before being
1325
            returned from a standard DLR GetMemberBinder.  The language is responsible for performing any boxing
1326
            so that it has an opportunity to perform custom boxing.
1327
            </returns>
1328
        </member>
1329
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeOperatorGetMemberBody(Microsoft.Scripting.Actions.DefaultBinder.GetMemberInfo,System.Dynamic.DynamicMetaObject,System.Type,System.String)">
1330
            <summary> if a member-injector is defined-on or registered-for this type call it </summary>
1331
        </member>
1332
        <member name="T:Microsoft.Scripting.Actions.DefaultBinder.GetMemberInfo">
1333
            <summary>
1334
            Helper class for flowing information about the GetMember request.
1335
            </summary>
1336
        </member>
1337
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.Call(Microsoft.Scripting.Actions.CallSignature,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[])">
1338
            <summary>
1339
            Provides default binding for performing a call on the specified meta objects.
1340
            </summary>
1341
            <param name="signature">The signature describing the call</param>
1342
            <param name="target">The meta object to be called.</param>
1343
            <param name="args">
1344
            Additional meta objects are the parameters for the call as specified by the CallSignature in the CallAction.
1345
            </param>
1346
            <returns>A MetaObject representing the call or the error.</returns>
1347
        </member>
1348
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.Call(Microsoft.Scripting.Actions.CallSignature,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[])">
1349
            <summary>
1350
            Provides default binding for performing a call on the specified meta objects.
1351
            </summary>
1352
            <param name="signature">The signature describing the call</param>
1353
            <param name="target">The meta object to be called.</param>
1354
            <param name="args">
1355
            Additional meta objects are the parameters for the call as specified by the CallSignature in the CallAction.
1356
            </param>
1357
            <param name="resolverFactory">Overload resolver factory.</param>
1358
            <returns>A MetaObject representing the call or the error.</returns>
1359
        </member>
1360
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.Call(Microsoft.Scripting.Actions.CallSignature,System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[])">
1361
            <summary>
1362
            Provides default binding for performing a call on the specified meta objects.
1363
            </summary>
1364
            <param name="signature">The signature describing the call</param>
1365
            <param name="target">The meta object to be called.</param>
1366
            <param name="args">
1367
            Additional meta objects are the parameters for the call as specified by the CallSignature in the CallAction.
1368
            </param>
1369
            <param name="resolverFactory">Overload resolver factory.</param>
1370
            <param name="errorSuggestion">The result should the object be uncallable.</param>
1371
            <returns>A MetaObject representing the call or the error.</returns>
1372
        </member>
1373
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetTargetInfo(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[])">
1374
            <summary>
1375
            Gets a TargetInfo object for performing a call on this object.  
1376
            
1377
            If this object is a delegate we bind to the Invoke method.
1378
            If this object is a MemberGroup or MethodGroup we bind to the methods in the member group.
1379
            If this object is a BoundMemberTracker we bind to the methods with the bound instance.
1380
            If the underlying type has defined an operator Call method we'll bind to that method.
1381
            </summary>
1382
        </member>
1383
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryGetMethodGroupTargets(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],Microsoft.Scripting.Actions.MethodGroup)">
1384
            <summary>
1385
            Binds to the methods in a method group.
1386
            </summary>
1387
        </member>
1388
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryGetMemberGroupTargets(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],Microsoft.Scripting.Actions.MemberGroup)">
1389
            <summary>
1390
            Binds to the methods in a member group.  
1391
            
1392
            TODO: We should really only have either MemberGroup or MethodGroup, not both.
1393
            </summary>
1394
        </member>
1395
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryGetBoundMemberTargets(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],Microsoft.Scripting.Actions.BoundMemberTracker)">
1396
            <summary>
1397
            Binds to the BoundMemberTracker and uses the instance in the tracker and restricts
1398
            based upon the object instance type.
1399
            </summary>
1400
        </member>
1401
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryGetDelegateTargets(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Delegate)">
1402
            <summary>
1403
            Binds to the Invoke method on a delegate if this is a delegate type.
1404
            </summary>
1405
        </member>
1406
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryGetOperatorTargets(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Object)">
1407
            <summary>
1408
            Attempts to bind to an operator Call method.
1409
            </summary>
1410
        </member>
1411
        <member name="T:Microsoft.Scripting.Actions.DefaultBinder.TargetInfo">
1412
            <summary>
1413
            Encapsulates information about the target of the call.  This includes an implicit instance for the call,
1414
            the methods that we'll be calling as well as any restrictions required to perform the call.
1415
            </summary>
1416
        </member>
1417
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.CallMethod(Microsoft.Scripting.Actions.DefaultOverloadResolver,System.Collections.Generic.IList{System.Reflection.MethodBase})">
1418
            <summary>
1419
            Performs binding against a set of overloaded methods using the specified arguments.  The arguments are
1420
            consumed as specified by the CallSignature object.
1421
            </summary>
1422
            <param name="resolver">Overload resolver.</param>
1423
            <param name="targets">The methods to be called</param>
1424
            <returns>A meta object which results from the call.</returns>
1425
        </member>
1426
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.CallMethod(Microsoft.Scripting.Actions.DefaultOverloadResolver,System.Collections.Generic.IList{System.Reflection.MethodBase},System.String)">
1427
            <summary>
1428
            Performs binding against a set of overloaded methods using the specified arguments.  The arguments are
1429
            consumed as specified by the CallSignature object.
1430
            </summary>
1431
            <param name="resolver">Overload resolver.</param>
1432
            <param name="targets">The methods to be called</param>
1433
            <param name="name">The name of the method or null to use the name from targets.</param>
1434
            <returns>A meta object which results from the call.</returns>
1435
        </member>
1436
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.CallMethod(Microsoft.Scripting.Actions.DefaultOverloadResolver,System.Collections.Generic.IList{System.Reflection.MethodBase},System.Dynamic.BindingRestrictions)">
1437
            <summary>
1438
            Performs binding against a set of overloaded methods using the specified arguments.  The arguments are
1439
            consumed as specified by the CallSignature object.
1440
            </summary>
1441
            <param name="resolver">Overload resolver.</param>
1442
            <param name="targets">The methods to be called</param>
1443
            <param name="restrictions">Additional restrictions which should be applied to the resulting MetaObject.</param>
1444
            <returns>A meta object which results from the call.</returns>
1445
        </member>
1446
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.CallMethod(Microsoft.Scripting.Actions.DefaultOverloadResolver,System.Collections.Generic.IList{System.Reflection.MethodBase},System.Dynamic.BindingRestrictions,System.String)">
1447
            <summary>
1448
            Performs binding against a set of overloaded methods using the specified arguments.  The arguments are
1449
            consumed as specified by the CallSignature object.
1450
            </summary>
1451
            <param name="resolver">Overload resolver.</param>
1452
            <param name="targets">The methods to be called</param>
1453
            <param name="restrictions">Additional restrictions which should be applied to the resulting MetaObject.</param>
1454
            <param name="name">The name of the method or null to use the name from targets.</param>
1455
            <returns>A meta object which results from the call.</returns>
1456
        </member>
1457
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.CallMethod(Microsoft.Scripting.Actions.DefaultOverloadResolver,System.Collections.Generic.IList{System.Reflection.MethodBase},System.Dynamic.BindingRestrictions,System.String,Microsoft.Scripting.Actions.Calls.NarrowingLevel,Microsoft.Scripting.Actions.Calls.NarrowingLevel,Microsoft.Scripting.Actions.Calls.BindingTarget@)">
1458
            <summary>
1459
            Performs binding against a set of overloaded methods using the specified arguments.  The arguments are
1460
            consumed as specified by the CallSignature object.
1461
            </summary>
1462
            <param name="minLevel">TODO.</param>
1463
            <param name="maxLevel">TODO.</param>
1464
            <param name="resolver">Overload resolver.</param>
1465
            <param name="targets">The methods to be called</param>
1466
            <param name="restrictions">Additional restrictions which should be applied to the resulting MetaObject.</param>
1467
            <param name="target">The resulting binding target which can be used for producing error information.</param>
1468
            <param name="name">The name of the method or null to use the name from targets.</param>
1469
            <returns>A meta object which results from the call.</returns>
1470
        </member>
1471
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeSplatTests(Microsoft.Scripting.Runtime.CallTypes,Microsoft.Scripting.Actions.CallSignature,System.Boolean,System.Collections.Generic.IList{System.Dynamic.DynamicMetaObject})">
1472
            <summary>
1473
            Makes test for param arrays and param dictionary parameters.
1474
            </summary>
1475
        </member>
1476
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeParamsArrayTest(Microsoft.Scripting.Runtime.CallTypes,Microsoft.Scripting.Actions.CallSignature,System.Boolean,System.Collections.Generic.IList{System.Dynamic.DynamicMetaObject})">
1477
            <summary>
1478
            Pulls out the right argument to build the splat test.  MakeParamsTest makes the actual test.
1479
            </summary>
1480
        </member>
1481
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeParamsTest(System.Dynamic.DynamicMetaObject,System.Boolean)">
1482
            <summary>
1483
            Builds the restrictions for calling with a splatted argument array.  Ensures that the
1484
            argument is still an ICollection of object and that it has the same number of arguments.
1485
            </summary>
1486
        </member>
1487
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeParamsDictionaryTest(System.Collections.Generic.IList{System.Dynamic.DynamicMetaObject},System.Boolean)">
1488
            <summary>
1489
            Builds the restrictions for calling with keyword arguments.  The restrictions include
1490
            tests on the individual keys of the dictionary to ensure they have the same names.
1491
            </summary>
1492
        </member>
1493
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.GetIndex(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Dynamic.DynamicMetaObject[])">
1494
            <summary>
1495
            Creates the MetaObject for indexing directly into arrays or indexing into objects which have
1496
            default members.  Returns null if we're not an indexing operation.
1497
            </summary>
1498
        </member>
1499
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.SetIndex(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Dynamic.DynamicMetaObject[])">
1500
            <summary>
1501
            Creates the MetaObject for indexing directly into arrays or indexing into objects which have
1502
            default members.  Returns null if we're not an indexing operation.
1503
            </summary>
1504
        </member>
1505
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeGeneralOperatorRule(System.String,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Dynamic.DynamicMetaObject[])">
1506
            <summary>
1507
            Creates the meta object for the rest of the operations: comparisons and all other
1508
            ExpressionType.  If the operation cannot be completed a MetaObject which indicates an
1509
            error will be returned.
1510
            </summary>
1511
        </member>
1512
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeGeneralOperatorRule(System.Linq.Expressions.ExpressionType,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,System.Dynamic.DynamicMetaObject[])">
1513
            <summary>
1514
            Creates the meta object for the rest of the operations: comparisons and all other
1515
            ExpressionType.  If the operation cannot be completed a MetaObject which indicates an
1516
            error will be returned.
1517
            </summary>
1518
        </member>
1519
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.TryNullComparisonRule(System.Dynamic.DynamicMetaObject[])">
1520
            <summary>
1521
            Produces a rule for comparing a value to null - supports comparing object references and nullable types.
1522
            </summary>
1523
        </member>
1524
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.SetMember(System.String,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject)">
1525
            <summary>
1526
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1527
            GetBoundMember, and StrongBox instances.
1528
            </summary>
1529
            <param name="name">
1530
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1531
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1532
            </param>
1533
            <param name="target">
1534
            The MetaObject from which the member is retrieved.
1535
            </param>
1536
            <param name="value">
1537
            The value being assigned to the target member.
1538
            </param>
1539
        </member>
1540
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.SetMember(System.String,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory)">
1541
            <summary>
1542
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1543
            GetBoundMember, and StrongBox instances.
1544
            </summary>
1545
            <param name="name">
1546
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1547
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1548
            </param>
1549
            <param name="target">
1550
            The MetaObject from which the member is retrieved.
1551
            </param>
1552
            <param name="value">
1553
            The value being assigned to the target member.
1554
            </param>
1555
            <param name="resolverFactory">
1556
            Provides overload resolution and method binding for any calls which need to be performed for the SetMember.
1557
            </param>
1558
        </member>
1559
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.SetMember(System.String,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject)">
1560
            <summary>
1561
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1562
            GetBoundMember, and StrongBox instances.
1563
            </summary>
1564
            <param name="name">
1565
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1566
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1567
            </param>
1568
            <param name="target">
1569
            The MetaObject from which the member is retrieved.
1570
            </param>
1571
            <param name="value">
1572
            The value being assigned to the target member.
1573
            </param>
1574
            <param name="errorSuggestion">
1575
            Provides a DynamicMetaObject that is to be used as the result if the member cannot be set.  If null then then a language
1576
            specific error code is provided by ActionBinder.MakeMissingMemberErrorForAssign which can be overridden by the language.
1577
            </param>
1578
        </member>
1579
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.SetMember(System.String,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,Microsoft.Scripting.Actions.Calls.OverloadResolverFactory)">
1580
            <summary>
1581
            Builds a MetaObject for performing a member get.  Supports all built-in .NET members, the OperatorMethod 
1582
            GetBoundMember, and StrongBox instances.
1583
            </summary>
1584
            <param name="name">
1585
            The name of the member to retrieve.  This name is not processed by the DefaultBinder and
1586
            is instead handed off to the GetMember API which can do name mangling, case insensitive lookups, etc...
1587
            </param>
1588
            <param name="target">
1589
            The MetaObject from which the member is retrieved.
1590
            </param>
1591
            <param name="value">
1592
            The value being assigned to the target member.
1593
            </param>
1594
            <param name="resolverFactory">
1595
            Provides overload resolution and method binding for any calls which need to be performed for the SetMember.
1596
            </param>
1597
            <param name="errorSuggestion">
1598
            Provides a DynamicMetaObject that is to be used as the result if the member cannot be set.  If null then then a language
1599
            specific error code is provided by ActionBinder.MakeMissingMemberErrorForAssign which can be overridden by the language.
1600
            </param>
1601
        </member>
1602
        <member name="M:Microsoft.Scripting.Actions.DefaultBinder.MakeOperatorSetMemberBody(Microsoft.Scripting.Actions.DefaultBinder.SetOrDeleteMemberInfo,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Type,System.String)">
1603
            <summary> if a member-injector is defined-on or registered-for this type call it </summary>
1604
        </member>
1605
        <member name="M:Microsoft.Scripting.Actions.DynamicSiteHelpers.IsInvisibleDlrStackFrame(System.Reflection.MethodBase)">
1606
            <summary>
1607
            Returns true if the method should not be displayed in the stack frame.
1608
            </summary>
1609
        </member>
1610
        <member name="T:Microsoft.Scripting.Actions.ErrorInfo">
1611
            <summary>
1612
            Encapsulates information about the result that should be produced when 
1613
            a OldDynamicAction cannot be performed.  The ErrorInfo can hold one of:
1614
                an expression which creates an Exception to be thrown 
1615
                an expression which produces a value which should be returned 
1616
                    directly to the user and represents an error has occured (for
1617
                    example undefined in JavaScript)
1618
                an expression which produces a value which should be returned
1619
                    directly to the user but does not actually represent an error.
1620
            
1621
            ErrorInfo's are produced by an ActionBinder in response to a failed
1622
            binding.  
1623
            </summary>
1624
        </member>
1625
        <member name="M:Microsoft.Scripting.Actions.ErrorInfo.#ctor(System.Linq.Expressions.Expression,Microsoft.Scripting.Actions.ErrorInfoKind)">
1626
            <summary>
1627
            Private constructor - consumers must use static From* factories
1628
            to create ErrorInfo objects.
1629
            </summary>
1630
        </member>
1631
        <member name="M:Microsoft.Scripting.Actions.ErrorInfo.FromException(System.Linq.Expressions.Expression)">
1632
            <summary>
1633
            Creates a new ErrorInfo which represents an exception that should
1634
            be thrown.
1635
            </summary>
1636
        </member>
1637
        <member name="M:Microsoft.Scripting.Actions.ErrorInfo.FromValue(System.Linq.Expressions.Expression)">
1638
            <summary>
1639
            Creates a new ErrorInfo which represents a value which should be
1640
            returned to the user.
1641
            </summary>
1642
        </member>
1643
        <member name="M:Microsoft.Scripting.Actions.ErrorInfo.FromValueNoError(System.Linq.Expressions.Expression)">
1644
            <summary>
1645
            Crates a new ErrorInfo which represents a value which should be returned
1646
            to the user but does not represent an error.
1647
            </summary>
1648
            <param name="resultValue"></param>
1649
            <returns></returns>
1650
        </member>
1651
        <member name="F:Microsoft.Scripting.Actions.ErrorInfoKind.Exception">
1652
            <summary>
1653
            The ErrorInfo expression produces an exception
1654
            </summary>
1655
        </member>
1656
        <member name="F:Microsoft.Scripting.Actions.ErrorInfoKind.Error">
1657
            <summary>
1658
            The ErrorInfo expression produces a value which represents the error (e.g. undefined)
1659
            </summary>
1660
        </member>
1661
        <member name="F:Microsoft.Scripting.Actions.ErrorInfoKind.Success">
1662
            <summary>
1663
            The ErrorInfo expression produces a value which is not an error
1664
            </summary>
1665
        </member>
1666
        <member name="T:Microsoft.Scripting.Actions.ErrorMetaObject">
1667
            <summary>
1668
            A MetaObject which was produced as the result of a failed binding.
1669
            </summary>
1670
        </member>
1671
        <member name="P:Microsoft.Scripting.Actions.EventTracker.IsStatic">
1672
            <summary>
1673
            Doesn't need to check PrivateBinding setting: no method that is part of the event is public the entire event is private. 
1674
            If the code has already a reference to the event tracker instance for a private event its "static-ness" is not influenced 
1675
            by private-binding setting.
1676
            </summary>
1677
        </member>
1678
        <member name="M:Microsoft.Scripting.Actions.EventTracker.GetComHandlerList(System.Object)">
1679
            <summary>
1680
            Gets the stub list for a COM Object.  For COM objects we store the stub list
1681
            directly on the object using the Marshal APIs.  This allows us to not have
1682
            any circular references to deal with via weak references which are challenging
1683
            in the face of COM.
1684
            </summary>
1685
        </member>
1686
        <member name="T:Microsoft.Scripting.Actions.EventTracker.HandlerList">
1687
            <summary>
1688
            Holds on a list of delegates hooked to the event. 
1689
            We need the list because we cannot enumerate the delegates hooked to CLR event and we need to do so in 
1690
            handler removal (we need to do custom delegate comparison there). If BCL enables the enumeration we could remove this.
1691
            </summary>
1692
        </member>
1693
        <member name="F:Microsoft.Scripting.Actions.EventTracker.ComHandlerList._handlers">
1694
            <summary>
1695
            Storage for the handlers - a key value pair of the callable object and the delegate handler.
1696
            </summary>
1697
        </member>
1698
        <member name="F:Microsoft.Scripting.Actions.EventTracker.NormalHandlerList._handlers">
1699
            <summary>
1700
            Storage for the handlers - a key value pair of the callable object and the delegate handler.
1701
            
1702
            The delegate handler is closed over the callable object.  Therefore as long as the object is alive the
1703
            delegate will stay alive and so will the callable object.  That means it's fine to have a weak reference
1704
            to both of these objects.
1705
            </summary>
1706
        </member>
1707
        <member name="T:Microsoft.Scripting.Actions.ExtensionMethodTracker">
1708
            <summary>
1709
            Represents extension method.
1710
            </summary>
1711
        </member>
1712
        <member name="P:Microsoft.Scripting.Actions.ExtensionMethodTracker.DeclaringType">
1713
            <summary>
1714
            Gets the declaring type of the extension method. Since this is an extension method,
1715
            the declaring type is in fact the type this extension method extends,
1716
            not Method.DeclaringType
1717
            </summary>
1718
        </member>
1719
        <member name="T:Microsoft.Scripting.Actions.ILightExceptionBinder">
1720
             <summary>
1721
             Implemented by binders which support light exceptions.  Dynamic objects
1722
             binding against a binder which implements this interface can check 
1723
             SupportsLightThrow to see if the binder currently supports safely 
1724
             returning a light exception.  Light exceptions can be created with
1725
             LightException.Throw.
1726
            
1727
             Binders also need to implement GetlightBinder.  This method
1728
             returns a new call site binder which may return light  exceptions if 
1729
             the binder supports them.
1730
             </summary>
1731
        </member>
1732
        <member name="P:Microsoft.Scripting.Actions.ILightExceptionBinder.SupportsLightThrow">
1733
            <summary>
1734
            Returns true if a callsite binding against this binder can
1735
            return light exceptions.
1736
            </summary>
1737
        </member>
1738
        <member name="M:Microsoft.Scripting.Actions.ILightExceptionBinder.GetLightExceptionBinder">
1739
            <summary>
1740
            Gets a binder which will support light exception if one is
1741
            available.
1742
            </summary>
1743
        </member>
1744
        <member name="T:Microsoft.Scripting.Actions.Interceptor">
1745
            <summary>
1746
            Interceptor prototype. The interceptor is a call site binder that wraps
1747
            a real call site binder and can perform arbitrary operations on the expression
1748
            trees that the wrapped binder produces:
1749
              * Dumping the trees
1750
              * Additional rewriting
1751
              * Static compilation
1752
              * ...
1753
            </summary>
1754
        </member>
1755
        <member name="T:Microsoft.Scripting.Actions.MemberGroup">
1756
            <summary>
1757
            MemberGroups are a collection of MemberTrackers which are commonly produced
1758
            on-demand to talk about the available members.  They can consist of a mix of
1759
            different member types or multiple membes of the same type.
1760
            
1761
            The most common source of MemberGroups is from ActionBinder.GetMember.  From here
1762
            the DLR will perform binding to the MemberTrackers frequently producing the value
1763
            resulted from the user.  If the result of the action produces a member it's self
1764
            the ActionBinder can provide the value exposed to the user via ReturnMemberTracker.
1765
            
1766
            ActionBinder provides default functionality for both getting members from a type
1767
            as well as exposing the members to the user.  Getting members from the type maps
1768
            closely to reflection and exposing them to the user exposes the MemberTrackers
1769
            directly.
1770
            </summary>
1771
        </member>
1772
        <member name="T:Microsoft.Scripting.Actions.MemberRequestKind">
1773
            <summary>
1774
            Specifies the action for which the default binder is requesting a member.
1775
            </summary>
1776
        </member>
1777
        <member name="T:Microsoft.Scripting.Actions.MemberTracker">
1778
            <summary>
1779
            Represents a logical member of a type.  The member could either be real concrete member on a type or
1780
            an extension member.
1781
            
1782
            This seperates the "physical" members that .NET knows exist on types from the members that
1783
            logically exist on a type.  It also provides other abstractions above the level of .NET reflection
1784
            such as MemberGroups and NamespaceTracker's.
1785
            
1786
            It also provides a wrapper around the reflection APIs which cannot be extended from partial trust.
1787
            </summary>
1788
        </member>
1789
        <member name="T:Microsoft.Scripting.Actions.MemberTracker.MemberKey">
1790
            <summary>
1791
            We ensure we only produce one MemberTracker for each member which logically lives on the declaring type.  So 
1792
            for example if you get a member from a derived class which is declared on the base class it should be the same 
1793
            as getting the member from the base class.  That’s easy enough until you get into extension members – here there
1794
            might be one extension member which is being applied to multiple types.  Therefore we need to take into account the 
1795
            extension type when ensuring that we only have 1 MemberTracker ever created.
1796
            </summary>
1797
        </member>
1798
        <member name="P:Microsoft.Scripting.Actions.MemberTracker.MemberType">
1799
            <summary>
1800
            The type of member tracker.
1801
            </summary>
1802
        </member>
1803
        <member name="P:Microsoft.Scripting.Actions.MemberTracker.DeclaringType">
1804
            <summary>
1805
            The logical declaring type of the member.
1806
            </summary>
1807
        </member>
1808
        <member name="P:Microsoft.Scripting.Actions.MemberTracker.Name">
1809
            <summary>
1810
            The name of the member.
1811
            </summary>
1812
        </member>
1813
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.GetValue(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.ActionBinder,System.Type)">
1814
            <summary>
1815
            Gets the expression that creates the value.  
1816
            
1817
            Returns null if it's an error to get the value.  The caller can then call GetErrorForGet to get 
1818
            the correct error Expression (or null if they should provide a default).
1819
            </summary>
1820
        </member>
1821
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.SetValue(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.ActionBinder,System.Type,System.Dynamic.DynamicMetaObject)">
1822
            <summary>
1823
            Gets an expression that assigns a value to the left hand side.
1824
            
1825
            Returns null if it's an error to assign to.  The caller can then call GetErrorForSet to
1826
            get the correct error Expression (or null if a default error should be provided).
1827
            </summary>
1828
        </member>
1829
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.SetValue(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.ActionBinder,System.Type,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject)">
1830
            <summary>
1831
            Gets an expression that assigns a value to the left hand side.
1832
            
1833
            Returns null if it's an error to assign to.  The caller can then call GetErrorForSet to
1834
            get the correct error Expression (or null if a default error should be provided).
1835
            </summary>
1836
        </member>
1837
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.Call(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.ActionBinder,System.Dynamic.DynamicMetaObject[])">
1838
            <summary>
1839
            Gets an expression that performs a call on the object using the specified arguments.
1840
            
1841
            Returns null if it's an error to perform the specific operation.  The caller can then call 
1842
            GetErrorsForDoCall to get the correct error Expression (or null if a default error should be provided).
1843
            </summary>
1844
        </member>
1845
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.GetError(Microsoft.Scripting.Actions.ActionBinder,System.Type)">
1846
            <summary>
1847
            Returns the error associated with getting the value.  
1848
            
1849
            A null return value indicates that the default error message should be provided by the caller.
1850
            </summary>
1851
        </member>
1852
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.GetBoundError(Microsoft.Scripting.Actions.ActionBinder,System.Dynamic.DynamicMetaObject,System.Type)">
1853
            <summary>
1854
            Returns the error associated with accessing this member via a bound instance.
1855
            
1856
            A null return value indicates that the default error message should be provided by the caller.
1857
            </summary>
1858
        </member>
1859
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.GetBoundValue(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.ActionBinder,System.Type,System.Dynamic.DynamicMetaObject)">
1860
            <summary>
1861
            Helper for getting values that have been bound.  Called from BoundMemberTracker.  Custom member
1862
            trackers can override this to provide their own behaviors when bound to an instance.
1863
            </summary>
1864
        </member>
1865
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.SetBoundValue(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.ActionBinder,System.Type,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject)">
1866
            <summary>
1867
            Helper for setting values that have been bound.  Called from BoundMemberTracker.  Custom member
1868
            trackers can override this to provide their own behaviors when bound to an instance.
1869
            </summary>
1870
        </member>
1871
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.SetBoundValue(Microsoft.Scripting.Actions.Calls.OverloadResolverFactory,Microsoft.Scripting.Actions.ActionBinder,System.Type,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject)">
1872
            <summary>
1873
            Helper for setting values that have been bound.  Called from BoundMemberTracker.  Custom member
1874
            trackers can override this to provide their own behaviors when bound to an instance.
1875
            </summary>
1876
        </member>
1877
        <member name="M:Microsoft.Scripting.Actions.MemberTracker.BindToInstance(System.Dynamic.DynamicMetaObject)">
1878
            <summary>
1879
            Binds the member tracker to the specified instance rturning a new member tracker if binding 
1880
            is possible.  If binding is not possible the existing member tracker will be returned.  For example
1881
            binding to a static field results in returning the original MemberTracker.  Binding to an instance
1882
            field results in a new BoundMemberTracker which will get GetBoundValue/SetBoundValue to pass the
1883
            instance through.
1884
            </summary>
1885
        </member>
1886
        <member name="T:Microsoft.Scripting.Actions.MethodGroup">
1887
            <summary>
1888
            MethodGroup's represent a unique collection of method's.  Typically this
1889
            unique set is all the methods which are overloaded by the same name including
1890
            methods with different arity.  These methods represent a single logically
1891
            overloaded element of a .NET type.
1892
            
1893
            The base DLR binders will produce MethodGroup's when provided with a MemberGroup
1894
            which contains only methods.  The MethodGroup's will be unique instances per
1895
            each unique group of methods.
1896
            </summary>
1897
        </member>
1898
        <member name="M:Microsoft.Scripting.Actions.MethodGroup.MakeGenericMethod(System.Type[])">
1899
            <summary>
1900
            Returns a BuiltinFunction bound to the provided type arguments.  Returns null if the binding
1901
            cannot be performed.
1902
            </summary>
1903
        </member>
1904
        <member name="T:Microsoft.Scripting.Actions.NamespaceTracker">
1905
            <summary>
1906
            NamespaceTracker represent a CLS namespace.
1907
            </summary>
1908
        </member>
1909
        <member name="M:Microsoft.Scripting.Actions.NamespaceTracker.LoadAllTypes">
1910
            <summary>
1911
            Loads all the types from all assemblies that contribute to the current namespace (but not child namespaces)
1912
            </summary>
1913
        </member>
1914
        <member name="M:Microsoft.Scripting.Actions.NamespaceTracker.GetOrMakePackageHierarchy(System.Reflection.Assembly,System.String)">
1915
            <summary>
1916
            Populates the tree with nodes for each part of the namespace
1917
            </summary>
1918
            <param name="assem"></param>
1919
            <param name="fullNamespace">Full namespace name. It can be null (for top-level types)</param>
1920
            <returns></returns>
1921
        </member>
1922
        <member name="M:Microsoft.Scripting.Actions.NamespaceTracker.CheckForUnlistedType(System.String)">
1923
            <summary>
1924
            As a fallback, so if the type does exist in any assembly. This would happen if a new type was added
1925
            that was not in the hardcoded list of types. 
1926
            This code is not accurate because:
1927
            1. We dont deal with generic types (TypeCollision). 
1928
            2. Previous calls to GetCustomMemberNames (eg. "from foo import *" in Python) would not have included this type.
1929
            3. This does not deal with new namespaces added to the assembly
1930
            </summary>
1931
        </member>
1932
        <member name="T:Microsoft.Scripting.Actions.NamespaceTracker.TypeNames">
1933
            <summary>
1934
            This stores all the public non-nested type names in a single namespace and from a single assembly.
1935
            This allows inspection of the namespace without eagerly loading all the types. Eagerly loading
1936
            types slows down startup, increases working set, and is semantically incorrect as it can trigger
1937
            TypeLoadExceptions sooner than required.
1938
            </summary>
1939
        </member>
1940
        <member name="T:Microsoft.Scripting.Actions.NoSideEffectsAttribute">
1941
            <summary>
1942
            Marks a method as not having side effects.  used by the combo binder
1943
            to allow calls to methods.
1944
            </summary>
1945
        </member>
1946
        <member name="T:Microsoft.Scripting.Actions.OperatorInfo">
1947
            <summary>
1948
            OperatorInfo provides a mapping from DLR ExpressionType to their associated .NET methods.
1949
            </summary>
1950
        </member>
1951
        <member name="M:Microsoft.Scripting.Actions.OperatorInfo.GetOperatorInfo(System.Linq.Expressions.ExpressionType)">
1952
            <summary>
1953
            Given an operator returns the OperatorInfo associated with the operator or null
1954
            </summary>
1955
        </member>
1956
        <member name="P:Microsoft.Scripting.Actions.OperatorInfo.Operator">
1957
            <summary>
1958
            Gets the operator the OperatorInfo provides info for.
1959
            </summary>
1960
        </member>
1961
        <member name="P:Microsoft.Scripting.Actions.OperatorInfo.Name">
1962
            <summary>
1963
            Gets the primary method name associated with the method.
1964
            This method name is usally in the form of op_Operator (e.g. op_Addition).
1965
            </summary>
1966
        </member>
1967
        <member name="P:Microsoft.Scripting.Actions.OperatorInfo.AlternateName">
1968
            <summary>
1969
            Gets the secondary method name associated with the method.
1970
            This method name is usually a standard .NET method name with pascal casing (e.g. Add).
1971
            </summary>
1972
        </member>
1973
        <member name="T:Microsoft.Scripting.Actions.PropertyTracker">
1974
            <summary>
1975
            Represents a logical Property as a member of a Type.  This Property can either be a real 
1976
            concrete Property on a type (implemented with a ReflectedPropertyTracker) or an extension
1977
            property (implemented with an ExtensionPropertyTracker).
1978
            </summary>
1979
        </member>
1980
        <member name="T:Microsoft.Scripting.Actions.TopNamespaceTracker">
1981
            <summary>
1982
            Represents the top reflected package which contains extra information such as
1983
            all the assemblies loaded and the built-in modules.
1984
            </summary>
1985
        </member>
1986
        <member name="M:Microsoft.Scripting.Actions.TopNamespaceTracker.TryGetPackage(System.String)">
1987
            <summary>
1988
            returns the package associated with the specified namespace and
1989
            updates the associated module to mark the package as imported.
1990
            </summary>
1991
        </member>
1992
        <member name="M:Microsoft.Scripting.Actions.TopNamespaceTracker.LoadAssembly(System.Reflection.Assembly)">
1993
            <summary>
1994
            Ensures that the assembly is loaded
1995
            </summary>
1996
            <param name="assem"></param>
1997
            <returns>true if the assembly was loaded for the first time. 
1998
            false if the assembly had already been loaded before</returns>
1999
        </member>
2000
        <member name="M:Microsoft.Scripting.Actions.TopNamespaceTracker.PublishComTypes(System.Reflection.Assembly)">
2001
            <summary>
2002
            When an (interop) assembly is loaded, we scan it to discover the GUIDs of COM interfaces so that we can
2003
            associate the type definition with COM objects with that GUID.
2004
            Since scanning all loaded assemblies can be expensive, in the future, we might consider a more explicit 
2005
            user binder to trigger scanning of COM types.
2006
            </summary>
2007
        </member>
2008
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Constructor">
2009
            <summary> Specifies that the member is a constructor, representing a ConstructorTracker </summary>
2010
        </member>
2011
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Event">
2012
            <summary> Specifies that the member is an event, representing a EventTracker </summary>
2013
        </member>
2014
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Field">
2015
            <summary> Specifies that the member is a field, representing a FieldTracker </summary>
2016
        </member>
2017
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Method">
2018
            <summary> Specifies that the member is a method, representing a MethodTracker </summary>
2019
        </member>
2020
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Property">
2021
            <summary> Specifies that the member is a property, representing a PropertyTracker </summary>
2022
        </member>
2023
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Type">
2024
            <summary> Specifies that the member is a property, representing a TypeTracker </summary>
2025
        </member>
2026
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Namespace">
2027
            <summary> Specifies that the member is a namespace, representing a NamespaceTracker </summary>
2028
        </member>
2029
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.MethodGroup">
2030
            <summary> Specifies that the member is a group of method overloads, representing a MethodGroup</summary>
2031
        </member>
2032
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.TypeGroup">
2033
            <summary> Specifies that the member is a group of types that very by arity, representing a TypeGroup</summary>
2034
        </member>
2035
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Custom">
2036
            <summary> Specifies that the member is a custom meber, represetning a CustomTracker </summary>
2037
        </member>
2038
        <member name="F:Microsoft.Scripting.Actions.TrackerTypes.Bound">
2039
            <summary> Specifies that the member is a bound to an instance, representing a BoundMemberTracker</summary>        
2040
        </member>
2041
        <member name="T:Microsoft.Scripting.Actions.TypeGroup">
2042
            <summary>
2043
            A TypeCollision is used when we have a collision between
2044
            two types with the same name.  Currently this is only possible w/ generic
2045
            methods that should logically have arity as a portion of their name. For eg:
2046
                 System.EventHandler and System.EventHandler[T]
2047
                 System.Nullable and System.Nullable[T]
2048
                 System.IComparable and System.IComparable[T]
2049
            
2050
            The TypeCollision provides an indexer but also is a real type.  When used
2051
            as a real type it is the non-generic form of the type.
2052
            
2053
            The indexer allows the user to disambiguate between the generic and
2054
            non-generic versions.  Therefore users must always provide additional
2055
            information to get the generic version.
2056
            </summary>
2057
        </member>
2058
        <member name="M:Microsoft.Scripting.Actions.TypeGroup.UpdateTypeEntity(Microsoft.Scripting.Actions.TypeTracker,Microsoft.Scripting.Actions.TypeTracker)">
2059
            <param name="existingTypeEntity">The merged list so far. Could be null</param>
2060
            <param name="newType">The new type(s) to add to the merged list</param>
2061
            <returns>The merged list.  Could be a TypeTracker or TypeGroup</returns>
2062
        </member>
2063
        <member name="M:Microsoft.Scripting.Actions.TypeGroup.GetGenericArity(System.Type)">
2064
            <summary> Gets the arity of generic parameters</summary>
2065
        </member>
2066
        <member name="M:Microsoft.Scripting.Actions.TypeGroup.GetNonGenericType">
2067
            <exception cref="T:System.TypeLoadException">No non-generic type is represented by this group.</exception>
2068
        </member>
2069
        <member name="P:Microsoft.Scripting.Actions.TypeGroup.DeclaringType">
2070
            <summary>
2071
            This returns the DeclaringType of all the types in the TypeGroup
2072
            </summary>
2073
        </member>
2074
        <member name="P:Microsoft.Scripting.Actions.TypeGroup.Name">
2075
            <summary>
2076
            This returns the base name of the TypeGroup (the name shared by all types minus arity)
2077
            </summary>
2078
        </member>
2079
        <member name="P:Microsoft.Scripting.Actions.TypeGroup.Type">
2080
            <summary>
2081
            This will return the result only for the non-generic type if one exists, and will throw 
2082
            an exception if all types in the TypeGroup are generic
2083
            </summary>
2084
        </member>
2085
        <member name="P:Microsoft.Scripting.Actions.TypeGroup.IsPublic">
2086
            <summary>
2087
            This will return the result only for the non-generic type if one exists, and will throw 
2088
            an exception if all types in the TypeGroup are generic
2089
            </summary>
2090
        </member>
2091
        <member name="M:Microsoft.Scripting.Actions.TypeTracker.op_Explicit(Microsoft.Scripting.Actions.TypeTracker)~System.Type">
2092
            <summary>
2093
            Enables implicit Type to TypeTracker conversions accross dynamic languages.
2094
            </summary>
2095
        </member>
2096
        <member name="T:Microsoft.Scripting.Ast.Utils">
2097
            <summary>
2098
            Factory methods.
2099
            </summary>
2100
        </member>
2101
        <member name="M:Microsoft.Scripting.Ast.Utils.Coalesce(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.ParameterExpression@)">
2102
            <summary>
2103
            Null coalescing expression
2104
            {result} ::= ((tmp = {_left}) == null) ? {right} : tmp
2105
            '??' operator in C#.
2106
            </summary>
2107
        </member>
2108
        <member name="M:Microsoft.Scripting.Ast.Utils.CoalesceTrue(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.ParameterExpression@)">
2109
            <summary>
2110
            True coalescing expression.
2111
            {result} ::= IsTrue(tmp = {left}) ? {right} : tmp
2112
            Generalized AND semantics.
2113
            </summary>
2114
        </member>
2115
        <member name="M:Microsoft.Scripting.Ast.Utils.CoalesceFalse(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.ParameterExpression@)">
2116
            <summary>
2117
            False coalescing expression.
2118
            {result} ::= IsTrue(tmp = {left}) ? tmp : {right}
2119
            Generalized OR semantics.
2120
            </summary>
2121
        </member>
2122
        <member name="M:Microsoft.Scripting.Ast.Utils.CoalesceTrue(Microsoft.Scripting.Ast.LambdaBuilder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo)">
2123
            <summary>
2124
            True coalescing expression.
2125
            {result} ::= IsTrue(tmp = {left}) ? {right} : tmp
2126
            Generalized AND semantics.
2127
            </summary>
2128
        </member>
2129
        <member name="M:Microsoft.Scripting.Ast.Utils.CoalesceFalse(Microsoft.Scripting.Ast.LambdaBuilder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo)">
2130
            <summary>
2131
            False coalescing expression.
2132
            {result} ::= IsTrue(tmp = {left}) ? tmp : {right}
2133
            Generalized OR semantics.
2134
            </summary>
2135
        </member>
2136
        <member name="M:Microsoft.Scripting.Ast.Utils.WeakConstant(System.Object)">
2137
            <summary>
2138
            Wraps the given value in a WeakReference and returns a tree that will retrieve
2139
            the value from the WeakReference.
2140
            </summary>
2141
        </member>
2142
        <member name="M:Microsoft.Scripting.Ast.Utils.Generator(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression)">
2143
            <summary>
2144
            Creates a generator with type IEnumerable{T}, where T is the label.Type
2145
            </summary>
2146
        </member>
2147
        <member name="M:Microsoft.Scripting.Ast.Utils.TransformEnumerable(System.Linq.Expressions.Expression,System.Collections.ObjectModel.ReadOnlyCollection{System.Linq.Expressions.ParameterExpression})">
2148
            
2149
        </member>
2150
        <member name="M:Microsoft.Scripting.Ast.Utils.Lambda(System.Type,System.String)">
2151
            <summary>
2152
            Creates new instance of the LambdaBuilder with the specified name and return type.
2153
            </summary>
2154
            <param name="returnType">Return type of the lambda being built.</param>
2155
            <param name="name">Name for the lambda being built.</param>
2156
            <returns>new LambdaBuilder instance</returns>
2157
        </member>
2158
        <member name="M:Microsoft.Scripting.Ast.Utils.SimpleCallHelper(System.Reflection.MethodInfo,System.Linq.Expressions.Expression[])">
2159
            <summary>
2160
            The helper to create the AST method call node. Will add conversions (Utils.Convert)
2161
            to parameters and instance if necessary.
2162
            </summary>
2163
        </member>
2164
        <member name="M:Microsoft.Scripting.Ast.Utils.SimpleCallHelper(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression[])">
2165
            <summary>
2166
            The helper to create the AST method call node. Will add conversions (Utils.Convert)
2167
            to parameters and instance if necessary.
2168
            </summary>
2169
        </member>
2170
        <member name="M:Microsoft.Scripting.Ast.Utils.ComplexCallHelper(System.Reflection.MethodInfo,System.Linq.Expressions.Expression[])">
2171
            <summary>
2172
            The complex call helper to create the AST method call node.
2173
            Will add conversions (Expression.Convert()), deals with default parameter values and params arrays.
2174
            </summary>
2175
        </member>
2176
        <member name="M:Microsoft.Scripting.Ast.Utils.Void(System.Linq.Expressions.Expression)">
2177
            <summary>
2178
            Converts an expression to a void type.
2179
            </summary>
2180
            <param name="expression">An <see cref="T:System.Linq.Expressions.Expression"/> to convert to void. </param>
2181
            <returns>An <see cref="T:System.Linq.Expressions.Expression" /> that has the <see cref="P:System.Linq.Expressions.Expression.NodeType" /> property equal to <see cref="F:System.Linq.Expressions.ExpressionType.ConvertChecked" /> and the <see cref="P:System.Linq.Expressions.UnaryExpression.Operand" /> and <see cref="P:System.Linq.Expressions.Expression.Type" /> property set to void.</returns>
2182
        </member>
2183
        <member name="M:Microsoft.Scripting.Ast.Utils.Box(System.Linq.Expressions.Expression)">
2184
            <summary>
2185
            Returns an expression that boxes a given value. Uses boxed objects cache for Int32 and Boolean types.
2186
            </summary>
2187
        </member>
2188
        <member name="M:Microsoft.Scripting.Ast.Utils.IsAssignment(System.Linq.Expressions.ExpressionType)">
2189
            <summary>
2190
            Determines whether specified expression type represents an assignment.
2191
            </summary>
2192
            <returns>
2193
            True if the expression type represents an assignment.
2194
            </returns>
2195
            <remarks>
2196
            Note that some other nodes can also assign to variables, members or array items:
2197
            MemberInit, NewArrayInit, Call with ref params, New with ref params, Dynamic with ref params.
2198
            </remarks>
2199
        </member>
2200
        <member name="M:Microsoft.Scripting.Ast.Utils.GetLValueAccess(System.Linq.Expressions.ExpressionType)">
2201
            <summary>
2202
            Determines if the left child of the given expression is read or written to or both.
2203
            </summary>
2204
        </member>
2205
        <member name="M:Microsoft.Scripting.Ast.BlockBuilder.ToExpression">
2206
            <summary>
2207
            Returns <c>null</c> if no expression was added into the builder.
2208
            If only a single expression was added returns it.
2209
            Otherwise returns a <see cref="T:System.Linq.Expressions.BlockExpression"/> containing the expressions added to the builder.
2210
            </summary>
2211
        </member>
2212
        <member name="P:Microsoft.Scripting.Ast.ExpressionCollectionBuilder`1.Expressions">
2213
            <summary>
2214
            If the number of items added to the builder is greater than 4 returns a read-only collection builder containing all the items.
2215
            Returns <c>null</c> otherwise.
2216
            </summary>
2217
        </member>
2218
        <member name="T:Microsoft.Scripting.Ast.FinallyFlowControlExpression">
2219
            <summary>
2220
            Wrapping a tree in this node enables jumps from finally blocks
2221
            It does this by generating control-flow logic in the tree
2222
            
2223
            Reducing this node requires a full tree walk of its body
2224
            (but not nested lambdas)
2225
            
2226
            WARNING: this node cannot contain jumps across blocks, because it
2227
            assumes any unknown jumps are jumps to an outer scope.
2228
            </summary>
2229
        </member>
2230
        <member name="T:Microsoft.Scripting.Ast.FlowControlRewriter">
2231
            <summary>
2232
            The purpose of this rewriter is simple: ETs do not allow jumps (break, continue, return, goto)
2233
            that would go through a finally/fault. So we replace them with code that instead stores a flag,
2234
            and then jumps to the end of the finally/fault. At the end of the try-finally, we emit a switch
2235
            that then jumps to the correct label.
2236
            
2237
            A few things that make this more complicated:
2238
            
2239
              1. If a finally contains a jump out, then jumps in the try/catch need to be replaced as well.
2240
                 It's to support cases like this:
2241
                     # returns 234
2242
                     def foo():
2243
                         try: return 123
2244
                         finally: return 234 
2245
                 
2246
                 We need to replace the "return 123" because after it jumps, we'll go to the finally, which
2247
                 might decide to jump again, but once the IL finally exits, it ignores the finally jump and
2248
                 keeps going with the original jump. The moral of the story is: if any jumps in finally are
2249
                 rewritten, try/catch jumps must be also.
2250
                 
2251
             2. To generate better code, we only have one state variable, so if we have to jump out of
2252
                multiple finallys we just keep jumping. It looks sort of like this:
2253
                  foo:
2254
                  try { ... } finally {
2255
                      try { ... } finally {
2256
                        ...
2257
                        if (...) {
2258
                            // was: goto foo;
2259
                            $flow = 1; goto endInnerFinally; 
2260
                        }
2261
                        ...
2262
                        endInnerFinally:
2263
                      }
2264
                      switch ($flow) {
2265
                          case 1: goto endOuterFinally;
2266
                      }
2267
                      ...
2268
                      endOuterFinally:
2269
                  }
2270
                  switch ($flow) {
2271
                    case 1: $flow = 0; goto foo;
2272
                  }
2273
                  ...
2274
            
2275
            </summary>
2276
        </member>
2277
        <member name="T:Microsoft.Scripting.Ast.GeneratorExpression">
2278
            <summary>
2279
            A parameterless generator, that is of type IEnumerable, IEnumerable{T},
2280
            IEnumerator, or IEnumerator{T}. Its body can contain a series of
2281
            YieldExpressions. Each call into MoveNext on the enumerator reenters
2282
            the generator, and executes until it reaches a YieldReturn or YieldBreak
2283
            expression
2284
            </summary>
2285
        </member>
2286
        <member name="P:Microsoft.Scripting.Ast.GeneratorExpression.Target">
2287
            <summary>
2288
            The label used by YieldBreak and YieldReturn expressions to yield
2289
            from this generator
2290
            </summary>
2291
        </member>
2292
        <member name="P:Microsoft.Scripting.Ast.GeneratorExpression.Body">
2293
            <summary>
2294
            The body of the generator, which can contain YieldBreak and
2295
            YieldReturn expressions
2296
            </summary>
2297
        </member>
2298
        <member name="P:Microsoft.Scripting.Ast.GeneratorExpression.RewriteAssignments">
2299
            <summary>
2300
            Indicates whether the lhs instances are preserved when assignments
2301
            are made to expressions containing yields.
2302
            </summary>
2303
        </member>
2304
        <member name="T:Microsoft.Scripting.Ast.GeneratorRewriter">
2305
            <summary>
2306
            When finding a yield return or yield break, this rewriter flattens out
2307
            containing blocks, scopes, and expressions with stack state. All
2308
            scopes encountered have their variables promoted to the generator's
2309
            closure, so they survive yields.
2310
            </summary>
2311
        </member>
2312
        <member name="M:Microsoft.Scripting.Ast.GeneratorRewriter.MakeAssign(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression)">
2313
            <summary>
2314
            Makes an assignment to this variable. Pushes the assignment as far
2315
            into the right side as possible, to allow jumps into it.
2316
            </summary>
2317
        </member>
2318
        <member name="M:Microsoft.Scripting.Ast.GeneratorRewriter.IsConstant(System.Linq.Expressions.Expression)">
2319
            <summary>
2320
            Returns true if the expression remains constant no matter when it is evaluated.
2321
            </summary>
2322
        </member>
2323
        <member name="T:Microsoft.Scripting.Ast.ILightExceptionAwareExpression">
2324
            <summary>
2325
            Implemented by expressions which can provide a version which is aware of light exceptions.  
2326
            
2327
            Normally these expressions will simply reduce to a version which throws a real exception.
2328
            When the expression is used inside of a region of code which supports light exceptions
2329
            the light exception re-writer will call ReduceForLightExceptions.  The expression can
2330
            then return a new expression which can return a light exception rather than throwing
2331
            a real .NET exception.
2332
            </summary>
2333
        </member>
2334
        <member name="T:Microsoft.Scripting.Ast.LambdaBuilder">
2335
            <summary>
2336
            The builder for creating the LambdaExpression node.
2337
            
2338
            Since the nodes require that parameters and variables are created
2339
            before hand and then passed to the factories creating LambdaExpression
2340
            this builder keeps track of the different pieces and at the end creates
2341
            the LambdaExpression.
2342
            
2343
            TODO: This has some functionality related to CodeContext that should be
2344
            removed, in favor of languages handling their own local scopes
2345
            </summary>
2346
        </member>
2347
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.Name">
2348
            <summary>
2349
            The name of the lambda.
2350
            Currently anonymous/unnamed lambdas are not allowed.
2351
            </summary>
2352
        </member>
2353
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.ReturnType">
2354
            <summary>
2355
            Return type of the lambda being created.
2356
            </summary>
2357
        </member>
2358
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.Locals">
2359
            <summary>
2360
            List of lambda's local variables for direct manipulation.
2361
            </summary>
2362
        </member>
2363
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.Parameters">
2364
            <summary>
2365
            List of lambda's parameters for direct manipulation
2366
            </summary>
2367
        </member>
2368
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.ParamsArray">
2369
            <summary>
2370
            The params array argument, if any.
2371
            </summary>
2372
        </member>
2373
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.Body">
2374
            <summary>
2375
            The body of the lambda. This must be non-null.
2376
            </summary>
2377
        </member>
2378
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.Dictionary">
2379
            <summary>
2380
            The generated lambda should have dictionary of locals
2381
            instead of allocating them directly on the CLR stack.
2382
            </summary>
2383
        </member>
2384
        <member name="P:Microsoft.Scripting.Ast.LambdaBuilder.Visible">
2385
            <summary>
2386
            The scope is visible (default). Invisible if false.
2387
            </summary>
2388
        </member>
2389
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.Parameter(System.Type,System.String)">
2390
            <summary>
2391
            Creates a parameter on the lambda with a given name and type.
2392
            
2393
            Parameters maintain the order in which they are created,
2394
            however custom ordering is possible via direct access to
2395
            Parameters collection.
2396
            </summary>
2397
        </member>
2398
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.ClosedOverParameter(System.Type,System.String)">
2399
            <summary>
2400
            Creates a parameter on the lambda with a given name and type.
2401
            
2402
            Parameters maintain the order in which they are created,
2403
            however custom ordering is possible via direct access to
2404
            Parameters collection.
2405
            </summary>
2406
        </member>
2407
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.AddParameters(System.Linq.Expressions.ParameterExpression[])">
2408
            <summary>
2409
            adds existing parameter to the lambda.
2410
            
2411
            Parameters maintain the order in which they are created,
2412
            however custom ordering is possible via direct access to
2413
            Parameters collection.
2414
            </summary>
2415
        </member>
2416
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.CreateHiddenParameter(System.String,System.Type)">
2417
            <summary>
2418
            Creates a hidden parameter on the lambda with a given name and type.
2419
            
2420
            Parameters maintain the order in which they are created,
2421
            however custom ordering is possible via direct access to
2422
            Parameters collection.
2423
            </summary>
2424
        </member>
2425
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.CreateParamsArray(System.Type,System.String)">
2426
            <summary>
2427
            Creates a params array argument on the labmda.
2428
            
2429
            The params array argument is added to the signature immediately. Before the lambda is
2430
            created, the builder validates that it is still the last (since the caller can modify
2431
            the order of parameters explicitly by maniuplating the parameter list)
2432
            </summary>
2433
        </member>
2434
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.ClosedOverVariable(System.Type,System.String)">
2435
            <summary>
2436
            Creates a local variable with specified name and type.
2437
            TODO: simplify by pushing logic into callers
2438
            </summary>
2439
        </member>
2440
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.Variable(System.Type,System.String)">
2441
            <summary>
2442
            Creates a local variable with specified name and type.
2443
            TODO: simplify by pushing logic into callers
2444
            </summary>
2445
        </member>
2446
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.HiddenVariable(System.Type,System.String)">
2447
            <summary>
2448
            Creates a temporary variable with specified name and type.
2449
            </summary>
2450
        </member>
2451
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.AddHiddenVariable(System.Linq.Expressions.ParameterExpression)">
2452
            <summary>
2453
            Adds the temporary variable to the list of variables maintained
2454
            by the builder. This is useful in cases where the variable is
2455
            created outside of the builder.
2456
            </summary>
2457
        </member>
2458
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.MakeLambda(System.Type)">
2459
            <summary>
2460
            Creates the LambdaExpression from the builder.
2461
            After this operation, the builder can no longer be used to create other instances.
2462
            </summary>
2463
            <param name="lambdaType">Desired type of the lambda. </param>
2464
            <returns>New LambdaExpression instance.</returns>
2465
        </member>
2466
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.MakeLambda">
2467
            <summary>
2468
            Creates the LambdaExpression from the builder.
2469
            After this operation, the builder can no longer be used to create other instances.
2470
            </summary>
2471
            <returns>New LambdaExpression instance.</returns>
2472
        </member>
2473
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.MakeGenerator(System.Linq.Expressions.LabelTarget,System.Type)">
2474
            <summary>
2475
            Creates the generator LambdaExpression from the builder.
2476
            After this operation, the builder can no longer be used to create other instances.
2477
            </summary>
2478
            <returns>New LambdaExpression instance.</returns>
2479
        </member>
2480
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.EnsureSignature(System.Type)">
2481
            <summary>
2482
            Fixes up lambda body and parameters to match the signature of the given delegate if needed.
2483
            </summary>
2484
            <param name="delegateType"></param>
2485
        </member>
2486
        <member name="M:Microsoft.Scripting.Ast.LambdaBuilder.Validate">
2487
            <summary>
2488
            Validates that the builder has enough information to create the lambda.
2489
            </summary>
2490
        </member>
2491
        <member name="T:Microsoft.Scripting.Ast.LightCheckAndThrowExpression">
2492
            <summary>
2493
            Provides a method call to a method which may return light exceptions. 
2494
            
2495
            The call is to a method which supports light exceptions.  When reducing
2496
            an additional check and throw is added.  When a block code of is re-written
2497
            for light exceptions this instead reduces to not throw a .NET exception.
2498
            </summary>
2499
        </member>
2500
        <member name="T:Microsoft.Scripting.Ast.LightExceptionRewriter">
2501
            <summary>
2502
            Internal re-writer class which creates code which is light exception aware.
2503
            </summary>
2504
        </member>
2505
        <member name="T:Microsoft.Scripting.Ast.LightExceptionRewriter.LightExceptionRewrittenCode">
2506
            <summary>
2507
            Class used to be avoid overhead of creating expression trees when we're usually 
2508
            </summary>
2509
        </member>
2510
        <member name="M:Microsoft.Scripting.Ast.LightExceptionRewriter.CheckExpression(System.Linq.Expressions.Expression,System.Type)">
2511
            <summary>
2512
            Adds light exception handling to the provided expression which
2513
            is light exception aware.
2514
            </summary>
2515
        </member>
2516
        <member name="T:Microsoft.Scripting.Ast.LightThrowExpression">
2517
            <summary>
2518
            Expression which produces a light exception value.  This should be constructed
2519
            with the expression which creates the exception and this method will then call
2520
            a helper method which wraps the exception in our internal light exception class.
2521
            </summary>
2522
        </member>
2523
        <member name="T:Microsoft.Scripting.Ast.YieldExpression">
2524
            <summary>
2525
            Represents either a YieldBreak or YieldReturn in a GeneratorExpression
2526
            If Value is non-null, it's a YieldReturn; otherwise it's a YieldBreak
2527
            and executing it will stop enumeration of the generator, causing
2528
            MoveNext to return false.
2529
            </summary>
2530
        </member>
2531
        <member name="P:Microsoft.Scripting.Ast.YieldExpression.Value">
2532
            <summary>
2533
            The value yieled from this expression, if it is a yield return
2534
            </summary>
2535
        </member>
2536
        <member name="P:Microsoft.Scripting.Ast.YieldExpression.Target">
2537
            <summary>
2538
            Gets the label used to yield from this generator
2539
            </summary>
2540
        </member>
2541
        <member name="T:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers">
2542
            <summary>
2543
            These are some generally useful helper methods. Currently the only methods are those to
2544
            cached boxed representations of commonly used primitive types so that they can be shared.
2545
            This is useful to most dynamic languages that use object as a universal type.
2546
            
2547
            The methods in RuntimeHelepers are caleld by the generated code. From here the methods may
2548
            dispatch to other parts of the runtime to get bulk of the work done, but the entry points
2549
            should be here.
2550
            </summary>
2551
        </member>
2552
        <member name="M:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers.ShiftParamsArray``1(``0[],System.Int32)">
2553
            <summary>
2554
            Used by prologue code that is injected in lambdas to ensure that delegate signature matches what 
2555
            lambda body expects. Such code typically unwraps subset of the params array manually, 
2556
            but then passes the rest in bulk if lambda body also expects params array.
2557
            
2558
            This calls ArrayUtils.ShiftLeft, but performs additional checks that
2559
            ArrayUtils.ShiftLeft assumes.
2560
            </summary>
2561
        </member>
2562
        <member name="F:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers.True">
2563
            <summary>
2564
            A singleton boxed boolean true.
2565
            </summary>
2566
        </member>
2567
        <member name="F:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers.False">
2568
             <summary>
2569
            A singleton boxed boolean false.
2570
             </summary>
2571
        </member>
2572
        <member name="M:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers.Int32ToObject(System.Int32)">
2573
            <summary>
2574
            Gets a singleton boxed value for the given integer if possible, otherwise boxes the integer.
2575
            </summary>
2576
            <param name="value">The value to box.</param>
2577
            <returns>The boxed value.</returns>
2578
        </member>
2579
        <member name="M:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers.CreateInstance``1">
2580
            <summary>
2581
            Helper method to create an instance.  Work around for Silverlight where Activator.CreateInstance
2582
            is SecuritySafeCritical.
2583
            
2584
            TODO: Why can't we just emit the right thing for default(T)?
2585
            It's always null for reference types and it's well defined for value types
2586
            </summary>
2587
        </member>
2588
        <member name="M:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers.GetEventHandlerType(System.Reflection.EventInfo)">
2589
            <summary>
2590
            EventInfo.EventHandlerType getter is marked SecuritySafeCritical in CoreCLR
2591
            This method is to get to the property without using Reflection
2592
            </summary>
2593
            <param name="eventInfo"></param>
2594
            <returns></returns>
2595
        </member>
2596
        <member name="M:Microsoft.Scripting.Runtime.ScriptingRuntimeHelpers.InterpretedCallSiteTest(System.Boolean,System.Object)">
2597
            <summary>
2598
            Provides the test to see if an interpreted call site should switch over to being compiled.
2599
            </summary>
2600
        </member>
2601
        <member name="T:Microsoft.Scripting.Runtime.IExpressionSerializable">
2602
            <summary>
2603
            Enables an object to be serializable to an Expression tree.  The expression tree can then
2604
            be emitted into an assembly enabling the de-serialization of the object.
2605
            </summary>
2606
        </member>
2607
        <member name="T:Microsoft.Scripting.Runtime.ArgumentArray">
2608
            <summary>
2609
            Wraps all arguments passed to a dynamic site with more arguments than can be accepted by a Func/Action delegate.
2610
            The binder generating a rule for such a site should unwrap the arguments first and then perform a binding to them.
2611
            </summary>
2612
        </member>
2613
        <member name="P:Microsoft.Scripting.Runtime.ArgumentArray.Count">
2614
            <summary>
2615
            Gets the number of items in _arguments that represent the arguments.
2616
            </summary>
2617
        </member>
2618
        <member name="T:Microsoft.Scripting.Runtime.BinderOps">
2619
            <summary>
2620
            Helper methods that calls are generated to from the default DLR binders.
2621
            </summary>
2622
        </member>
2623
        <member name="M:Microsoft.Scripting.Runtime.BinderOps.GetCombinedParameters(System.Object[],System.Object)">
2624
            <summary>
2625
            Helper function to combine an object array with a sequence of additional parameters that has been splatted for a function call.
2626
            </summary>
2627
        </member>
2628
        <member name="M:Microsoft.Scripting.Runtime.BinderOps.GetEventHandlerType(System.Reflection.EventInfo)">
2629
            <summary>
2630
            EventInfo.EventHandlerType getter is marked SecuritySafeCritical in CoreCLR
2631
            This method is to get to the property without using Reflection
2632
            </summary>
2633
            <param name="eventInfo"></param>
2634
            <returns></returns>
2635
        </member>
2636
        <member name="F:Microsoft.Scripting.Runtime.BinderType.Normal">
2637
            <summary>
2638
            The MethodBinder will perform normal method binding.
2639
            </summary>
2640
        </member>
2641
        <member name="F:Microsoft.Scripting.Runtime.BinderType.BinaryOperator">
2642
            <summary>
2643
            The MethodBinder will return the languages definition of NotImplemented if the arguments are
2644
            incompatible with the signature.
2645
            </summary>
2646
        </member>
2647
        <member name="F:Microsoft.Scripting.Runtime.BinderType.Constructor">
2648
            <summary>
2649
            The MethodBinder will set properties/fields for unused keyword arguments on the instance 
2650
            that gets returned from the method.
2651
            </summary>
2652
        </member>
2653
        <member name="T:Microsoft.Scripting.Runtime.DlrMainCallTarget">
2654
            <summary>
2655
            The delegate representing the DLR Main function
2656
            </summary>
2657
        </member>
2658
        <member name="T:Microsoft.Scripting.Runtime.Cast">
2659
            <summary>
2660
            Implements explicit casts supported by the runtime.
2661
            </summary>
2662
            <summary>
2663
            Implements explicit casts supported by the runtime.
2664
            </summary>
2665
        </member>
2666
        <member name="M:Microsoft.Scripting.Runtime.Cast.Explicit(System.Object,System.Type)">
2667
            <summary>
2668
            Explicitly casts the object to a given type (and returns it as object)
2669
            </summary>
2670
        </member>
2671
        <member name="T:Microsoft.Scripting.Runtime.CompilerContext">
2672
            <summary>
2673
            Represents the context that is flowed for doing Compiler.  Languages can derive
2674
            from this class to provide additional contextual information.
2675
            </summary>
2676
        </member>
2677
        <member name="P:Microsoft.Scripting.Runtime.CompilerContext.SourceUnit">
2678
            <summary>
2679
            Gets the source unit currently being compiled in the CompilerContext.
2680
            </summary>
2681
        </member>
2682
        <member name="P:Microsoft.Scripting.Runtime.CompilerContext.ParserSink">
2683
            <summary>
2684
            Gets the sink for parser callbacks (e.g. brace matching, etc.).
2685
            </summary>
2686
        </member>
2687
        <member name="P:Microsoft.Scripting.Runtime.CompilerContext.Errors">
2688
            <summary>
2689
            Gets the current error sink.
2690
            </summary>
2691
        </member>
2692
        <member name="P:Microsoft.Scripting.Runtime.CompilerContext.Options">
2693
            <summary>
2694
            Gets the compiler specific options.
2695
            </summary>
2696
        </member>
2697
        <member name="T:Microsoft.Scripting.Runtime.CustomStringDictionary">
2698
            <summary>
2699
            Abstract base class used for optimized thread-safe dictionaries which have a set
2700
            of pre-defined string keys.
2701
            
2702
            Implementers derive from this class and override the GetExtraKeys, TrySetExtraValue, 
2703
            and TryGetExtraValue methods. When looking up a value first the extra keys will be 
2704
            searched using the optimized Try*ExtraValue functions.  If the value isn't found there
2705
            then the value is stored in the underlying .NET dictionary.
2706
            
2707
            This dictionary can store object values in addition to string values.  It also supports
2708
            null keys.
2709
            </summary>
2710
        </member>
2711
        <member name="M:Microsoft.Scripting.Runtime.CustomStringDictionary.GetExtraKeys">
2712
            <summary>
2713
            Gets a list of the extra keys that are cached by the the optimized implementation
2714
            of the module.
2715
            </summary>
2716
        </member>
2717
        <member name="M:Microsoft.Scripting.Runtime.CustomStringDictionary.TrySetExtraValue(System.String,System.Object)">
2718
            <summary>
2719
            Try to set the extra value and return true if the specified key was found in the 
2720
            list of extra values.
2721
            </summary>
2722
        </member>
2723
        <member name="M:Microsoft.Scripting.Runtime.CustomStringDictionary.TryGetExtraValue(System.String,System.Object@)">
2724
            <summary>
2725
            Try to get the extra value and returns true if the specified key was found in the
2726
            list of extra values.  Returns true even if the value is Uninitialized.
2727
            </summary>
2728
        </member>
2729
        <member name="T:Microsoft.Scripting.Runtime.DelegateInfo">
2730
            <summary>
2731
            Used as the value for the ScriptingRuntimeHelpers.GetDelegate method caching system
2732
            </summary>
2733
        </member>
2734
        <member name="M:Microsoft.Scripting.Runtime.DelegateInfo.EmitClrCallStub(Microsoft.Scripting.Generation.ILGen)">
2735
            <summary>
2736
            Generates stub to receive the CLR call and then call the dynamic language code.
2737
            </summary>
2738
        </member>
2739
        <member name="T:Microsoft.Scripting.Runtime.DelegateSignatureInfo">
2740
            <summary>
2741
            Used as the key for the LanguageContext.GetDelegate method caching system
2742
            </summary>
2743
        </member>
2744
        <member name="T:Microsoft.Scripting.Runtime.DlrCachedCodeAttribute">
2745
            <summary>
2746
            An attribute that is applied to saved ScriptCode's to be used to re-create the ScriptCode
2747
            from disk.
2748
            </summary>
2749
        </member>
2750
        <member name="P:Microsoft.Scripting.Runtime.CachedOptimizedCodeAttribute.Names">
2751
            <summary>
2752
            Gets names stored in optimized scope. 
2753
            </summary>
2754
        </member>
2755
        <member name="T:Microsoft.Scripting.Runtime.DocumentationAttribute">
2756
            <summary>
2757
            Provides a mechanism for providing documentation stored in an assembly as metadata.  
2758
            
2759
            Applying this attribute will enable documentation to be provided to the user at run-time
2760
            even if XML Documentation files are unavailable.
2761
            </summary>
2762
        </member>
2763
        <member name="T:Microsoft.Scripting.Runtime.DynamicDelegateCreator">
2764
            <summary>
2765
            Provides support for converting objects to delegates using the DLR binders
2766
            available by the provided language context.
2767
            
2768
            Primarily this supports converting objects implementing IDynamicMetaObjectProvider
2769
            to the appropriate delegate type.  
2770
            
2771
            If the provided object is already a delegate of the appropriate type then the 
2772
            delegate will simply be returned.
2773
            </summary>
2774
        </member>
2775
        <member name="M:Microsoft.Scripting.Runtime.DynamicDelegateCreator.GetDelegate(System.Object,System.Type)">
2776
            <summary>
2777
            Creates a delegate with a given signature that could be used to invoke this object from non-dynamic code (w/o code context).
2778
            A stub is created that makes appropriate conversions/boxing and calls the object.
2779
            The stub should be executed within a context of this object's language.
2780
            </summary>
2781
            <returns>The converted delegate.</returns>
2782
            <exception cref="T:Microsoft.Scripting.ArgumentTypeException">The object is either a subclass of Delegate but not the requested type or does not implement IDynamicMetaObjectProvider.</exception>
2783
        </member>
2784
        <member name="T:Microsoft.Scripting.Runtime.DynamicNull">
2785
            <summary>
2786
            Represents the type of a null value.
2787
            </summary>
2788
        </member>
2789
        <member name="M:Microsoft.Scripting.Runtime.DynamicNull.#ctor">
2790
            <summary>
2791
            Private constructor is never called since 'null' is the only valid instance.
2792
            </summary>
2793
        </member>
2794
        <member name="M:Microsoft.Scripting.Runtime.ExceptionHelpers.UpdateForRethrow(System.Exception)">
2795
            <summary>
2796
            Updates an exception before it's getting re-thrown so
2797
            we can present a reasonable stack trace to the user.
2798
            </summary>
2799
        </member>
2800
        <member name="M:Microsoft.Scripting.Runtime.ExceptionHelpers.GetExceptionStackTraces(System.Exception)">
2801
            <summary>
2802
            Returns all the stack traces associates with an exception
2803
            </summary>
2804
        </member>
2805
        <member name="T:Microsoft.Scripting.Runtime.ExtensionTypeAttribute">
2806
            <summary>
2807
            Marks a class in the assembly as being an extension type for another type.
2808
            </summary>
2809
        </member>
2810
        <member name="M:Microsoft.Scripting.Runtime.ExtensionTypeAttribute.#ctor(System.Type,System.Type)">
2811
            <summary>
2812
            Marks a type in the assembly as being an extension type for another type.
2813
            </summary>
2814
            <param name="extends">The type which is being extended</param>
2815
            <param name="extensionType">The type which provides the extension members.</param>
2816
        </member>
2817
        <member name="P:Microsoft.Scripting.Runtime.ExtensionTypeAttribute.ExtensionType">
2818
            <summary>
2819
            The type which contains extension members which are added to the type being extended.
2820
            </summary>
2821
        </member>
2822
        <member name="P:Microsoft.Scripting.Runtime.ExtensionTypeAttribute.Extends">
2823
            <summary>
2824
            The type which is being extended by the extension type.
2825
            </summary>
2826
        </member>
2827
        <member name="T:Microsoft.Scripting.Runtime.IConvertibleMetaObject">
2828
            <summary>
2829
            Indicates that a DynamicMetaObject might be convertible to a CLR type.
2830
            </summary>
2831
        </member>
2832
        <member name="M:Microsoft.Scripting.Runtime.IdDispenser.GetObject(System.Int64)">
2833
            <summary>
2834
            Given an ID returns the object associated with that ID.
2835
            </summary>
2836
        </member>
2837
        <member name="M:Microsoft.Scripting.Runtime.IdDispenser.GetId(System.Object)">
2838
            <summary>
2839
            Gets a unique ID for an object
2840
            </summary>
2841
        </member>
2842
        <member name="M:Microsoft.Scripting.Runtime.IdDispenser.Cleanup">
2843
            <summary>
2844
            Goes over the hashtable and removes empty entries 
2845
            </summary>
2846
        </member>
2847
        <member name="T:Microsoft.Scripting.Runtime.IdDispenser.Wrapper">
2848
            <summary>
2849
            Weak-ref wrapper caches the weak reference, our hash code, and the object ID.
2850
            </summary>
2851
        </member>
2852
        <member name="T:Microsoft.Scripting.Runtime.IdDispenser.WrapperComparer">
2853
            <summary>
2854
            WrapperComparer treats Wrapper as transparent envelope 
2855
            </summary>
2856
        </member>
2857
        <member name="T:Microsoft.Scripting.Runtime.IMembersList">
2858
            <summary>
2859
            Provides a list of all the members of an instance.  
2860
            </summary>
2861
        </member>
2862
        <member name="T:Microsoft.Scripting.Runtime.IRestrictedMetaObject">
2863
            <summary>
2864
            Indicates that a MetaObject is already representing a restricted type.  Useful
2865
            when we're already restricted to a known type but this isn't captured in
2866
            the type info (e.g. the type is not sealed).
2867
            </summary>
2868
        </member>
2869
        <member name="T:Microsoft.Scripting.Runtime.ISlice">
2870
            <summary>
2871
            A useful interface for taking slices of numeric arrays, inspired by Python's Slice objects.
2872
            </summary>
2873
        </member>
2874
        <member name="P:Microsoft.Scripting.Runtime.ISlice.Start">
2875
            <summary>
2876
            The starting index of the slice or null if no first index defined
2877
            </summary>
2878
        </member>
2879
        <member name="P:Microsoft.Scripting.Runtime.ISlice.Stop">
2880
            <summary>
2881
            The ending index of the slice or null if no ending index defined
2882
            </summary>
2883
        </member>
2884
        <member name="P:Microsoft.Scripting.Runtime.ISlice.Step">
2885
            <summary>
2886
            The length of step to take
2887
            </summary>
2888
        </member>
2889
        <member name="T:Microsoft.Scripting.Runtime.LanguageBoundTextContentProvider">
2890
            <summary>
2891
            Internal class which binds a LanguageContext, StreamContentProvider, and Encoding together to produce
2892
            a TextContentProvider which reads binary data with the correct language semantics.
2893
            </summary>
2894
        </member>
2895
        <member name="T:Microsoft.Scripting.Runtime.LightExceptions">
2896
            <summary>
2897
            Provides support for light exceptions.  These exceptions are propagated by
2898
            returning an instance of a private wrapper class containing the exception.  Code
2899
            which is aware of light exceptions will branch to apporiate exception handling
2900
            blocks when in a try and otherwise return the value up the stack.  This avoids 
2901
            using the underlying CLR exception mechanism with overhead such as creating stack 
2902
            traces.
2903
            
2904
            When a light exception reaches the boundary of code which is not light exception
2905
            aware the caller must check to see if a light exception is being thrown and if
2906
            so raise a .NET exception.
2907
            
2908
            This class provides methods for re-writing expression trees to support light exceptions,
2909
            methods to create light throw objects, check if an object is a light
2910
            throw object, and turn such an object back into a .NET Exception which can be thrown.
2911
            
2912
            Light exceptions also don't build up stack traces or interoperate with filter blocks
2913
            via 2-pass exception handling.
2914
            </summary>
2915
        </member>
2916
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.Rewrite(System.Linq.Expressions.Expression)">
2917
            <summary>
2918
            Rewrites the provided expression to support light exceptions.  
2919
            
2920
            Calls to the returned expression, if not from other light-weight aware calls,
2921
            need to call GetLightException on return to see if an exception was thrown
2922
            and if so throw it.
2923
            </summary>
2924
        </member>
2925
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.RewriteLazy(System.Linq.Expressions.Expression)">
2926
            <summary>
2927
            Returns a new expression which will lazily reduce to a light
2928
            expression re-written version of the same expression.
2929
            </summary>
2930
        </member>
2931
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.RewriteExternal(System.Linq.Expressions.Expression)">
2932
            <summary>
2933
            Returns a new expression which is re-written for light exceptions
2934
            but will throw an exception if it escapes the expression.  If this
2935
            expression is part of a larger experssion which is later re-written 
2936
            for light exceptions then it will propagate the light exception up.
2937
            </summary>
2938
        </member>
2939
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.Throw(System.Exception)">
2940
            <summary>
2941
            Returns an object which represents a light exception.
2942
            </summary>
2943
        </member>
2944
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.Throw(System.Linq.Expressions.Expression)">
2945
            <summary>
2946
            Returns an object which represents a light exception.
2947
            </summary>
2948
        </member>
2949
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.Throw(System.Linq.Expressions.Expression,System.Type)">
2950
            <summary>
2951
            Returns an object which represents a light exception.
2952
            </summary>
2953
        </member>
2954
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.Throw(System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression)">
2955
            <summary>
2956
            If the binder supports light exceptions then a light exception throwing expression is returned.
2957
            
2958
            Otherwise a normal throwing expression is returned.
2959
            </summary>
2960
        </member>
2961
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.Throw(System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression,System.Type)">
2962
            <summary>
2963
            If the binder supports light exceptions then a light exception throwing expression is returned.
2964
            
2965
            Otherwise a normal throwing expression is returned.
2966
            </summary>
2967
        </member>
2968
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(System.Object)">
2969
            <summary>
2970
            Throws the exception if the value represents a light exception
2971
            </summary>
2972
        </member>
2973
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(System.Linq.Expressions.Expression)">
2974
            <summary>
2975
            Wraps the expression in a check and rethrow.
2976
            </summary>
2977
        </member>
2978
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.IsLightException(System.Object)">
2979
            <summary>
2980
            Checks to see if the provided value is a light exception.
2981
            </summary>
2982
        </member>
2983
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.GetLightException(System.Object)">
2984
            <summary>
2985
            Gets the light exception from an object which may contain a light
2986
            exception.  Returns null if the object is not a light exception.
2987
            
2988
            Used for throwing the exception at non-light exception boundaries.  
2989
            </summary>
2990
        </member>
2991
        <member name="M:Microsoft.Scripting.Runtime.LightExceptions.SupportsLightThrow(System.Runtime.CompilerServices.CallSiteBinder)">
2992
            <summary>
2993
            Returns true if the call site binder is a light exception binder and supports
2994
            light throws.  Returns false otherwise.
2995
            </summary>
2996
            <param name="binder"></param>
2997
            <returns></returns>
2998
        </member>
2999
        <member name="T:Microsoft.Scripting.Runtime.LightExceptions.LightException">
3000
            <summary>
3001
            Sealed wrapper class to indicate something is a light exception.
3002
            </summary>
3003
        </member>
3004
        <member name="T:Microsoft.Scripting.Runtime.LightThrowingAttribute">
3005
            <summary>
3006
            Marks a method which may return a light exception.  Such
3007
            methods need to have their return value checked and the exception
3008
            will need to be thrown if the caller is not light exception aware.
3009
            </summary>
3010
        </member>
3011
        <member name="T:Microsoft.Scripting.Runtime.LocalsDictionary">
3012
            <summary>
3013
            Creates a dictionary of locals in this scope
3014
            </summary>
3015
        </member>
3016
        <member name="M:Microsoft.Scripting.Runtime.MetaObjectExtensions.GetLimitType(System.Dynamic.DynamicMetaObject)">
3017
             <summary>
3018
            Returns Microsoft.Scripting.Runtime.DynamicNull if the object contains a null value,
3019
            otherwise, returns self.LimitType
3020
             </summary>
3021
        </member>
3022
        <member name="M:Microsoft.Scripting.Runtime.MetaObjectExtensions.GetRuntimeType(System.Dynamic.DynamicMetaObject)">
3023
             <summary>
3024
            Returns Microsoft.Scripting.Runtime.DynamicNull if the object contains a null value,
3025
            otherwise, returns self.RuntimeType
3026
             </summary>
3027
        </member>
3028
        <member name="T:Microsoft.Scripting.Runtime.ModuleChangeEventArgs">
3029
            <summary>
3030
            Event args for when a ScriptScope has had its contents changed.  
3031
            </summary>
3032
        </member>
3033
        <member name="M:Microsoft.Scripting.Runtime.ModuleChangeEventArgs.#ctor(System.String,Microsoft.Scripting.Runtime.ModuleChangeType)">
3034
            <summary>
3035
            Creates a new ModuleChangeEventArgs object with the specified name and type.
3036
            </summary>
3037
        </member>
3038
        <member name="M:Microsoft.Scripting.Runtime.ModuleChangeEventArgs.#ctor(System.String,Microsoft.Scripting.Runtime.ModuleChangeType,System.Object)">
3039
            <summary>
3040
            Creates a nwe ModuleChangeEventArgs with the specified name, type, and changed value.
3041
            </summary>
3042
        </member>
3043
        <member name="P:Microsoft.Scripting.Runtime.ModuleChangeEventArgs.Name">
3044
            <summary>
3045
            Gets the name of the symbol that has changed.
3046
            </summary>
3047
        </member>
3048
        <member name="P:Microsoft.Scripting.Runtime.ModuleChangeEventArgs.ChangeType">
3049
            <summary>
3050
            Gets the way in which the symbol has changed: Set or Delete.
3051
            </summary>
3052
        </member>
3053
        <member name="P:Microsoft.Scripting.Runtime.ModuleChangeEventArgs.Value">
3054
            <summary>
3055
            Gets the symbol has been set provides the new value.
3056
            </summary>
3057
        </member>
3058
        <member name="T:Microsoft.Scripting.Runtime.ModuleChangeType">
3059
            <summary>
3060
            The way in which a module has changed : Set or Delete
3061
            </summary>
3062
        </member>
3063
        <member name="F:Microsoft.Scripting.Runtime.ModuleChangeType.Set">
3064
            <summary>
3065
            A new value has been set in the module (or a previous value has changed).
3066
            </summary>
3067
        </member>
3068
        <member name="F:Microsoft.Scripting.Runtime.ModuleChangeType.Delete">
3069
            <summary>
3070
            A value has been removed from the module.
3071
            </summary>
3072
        </member>
3073
        <member name="T:Microsoft.Scripting.Runtime.NullTextContentProvider">
3074
            <summary>
3075
            A NullTextContentProvider to be provided when we have a pre-compiled ScriptCode which doesn't
3076
            have source code associated with it.
3077
            </summary>
3078
        </member>
3079
        <member name="T:Microsoft.Scripting.Runtime.OperationFailed">
3080
            <summary>
3081
            Singleton instance returned from an operator method when the operator method cannot provide a value.
3082
            </summary>
3083
        </member>
3084
        <member name="T:Microsoft.Scripting.Runtime.OperatorSlotAttribute">
3085
            <summary>
3086
            Represents an ops-extension method which is added as an operator.
3087
            
3088
            The name must be a well-formed name such as "Add" that matches the CLS
3089
            naming conventions for adding overloads associated with op_* methods.
3090
            </summary>
3091
        </member>
3092
        <member name="T:Microsoft.Scripting.Runtime.PositionTrackingWriter">
3093
            <summary>
3094
            Efficiently tracks (line,column) information as text is added, and
3095
            collects line mappings between the original and generated source code
3096
            so we can generate correct debugging information later
3097
            </summary>
3098
        </member>
3099
        <member name="M:Microsoft.Scripting.Runtime.PositionTrackingWriter.MapLocation(System.CodeDom.CodeLinePragma)">
3100
            <summary>
3101
            Marks the current position of the writer as corresponding to the
3102
            original location passed in
3103
            </summary>
3104
            <param name="linePragma">the line pragma corresponding to the 
3105
            current position in the generated code</param>
3106
        </member>
3107
        <member name="T:Microsoft.Scripting.Runtime.PropertyMethodAttribute">
3108
            <summary>
3109
            Represents an ops-extension method which is used to implement a property.
3110
            </summary>
3111
        </member>
3112
        <member name="T:Microsoft.Scripting.Runtime.ReflectionCache">
3113
            <summary>
3114
            Provides a cache of reflection members.  Only one set of values is ever handed out per a 
3115
            specific request.
3116
            </summary>
3117
        </member>
3118
        <member name="T:Microsoft.Scripting.Runtime.ReflectionCache.MethodBaseCache">
3119
            <summary>
3120
            TODO: Make me private again
3121
            </summary>
3122
        </member>
3123
        <member name="T:Microsoft.Scripting.Runtime.StaticExtensionMethodAttribute">
3124
            <summary>
3125
            Indicates an extension method should be added as a static method, not a instance method.
3126
            </summary>
3127
        </member>
3128
        <member name="M:Microsoft.Scripting.Runtime.TokenizerBuffer.Seek(System.Int32)">
3129
            <summary>
3130
            Sets the current position inside current token or one character behind it.
3131
            </summary>
3132
        </member>
3133
        <member name="M:Microsoft.Scripting.Runtime.TokenizerBuffer.SeekRelative(System.Int32)">
3134
            <summary>
3135
            Sets the current position inside current token or one character behind it.
3136
            A relative displacement with respect to the current position in the token is specified.
3137
            </summary>
3138
        </member>
3139
        <member name="M:Microsoft.Scripting.Runtime.TokenizerBuffer.MarkMultiLineTokenEnd">
3140
            <summary>
3141
            Marks token end. Enables to read the current token.
3142
            </summary>
3143
        </member>
3144
        <member name="M:Microsoft.Scripting.Runtime.TokenizerBuffer.DiscardToken">
3145
            <summary>
3146
            Marks token start. It means the buffer can drop the current token.
3147
            Can be called even if no token has been read yet.
3148
            </summary>
3149
        </member>
3150
        <member name="M:Microsoft.Scripting.Runtime.TokenizerBuffer.ReadLine">
3151
            <summary>
3152
            Reads till the end of line and returns the character that stopped the reading.
3153
            The returned character is not skipped.
3154
            </summary>
3155
        </member>
3156
        <member name="M:Microsoft.Scripting.Runtime.TokenizerBuffer.ResizeInternal(System.Char[]@,System.Int32,System.Int32,System.Int32)">
3157
            <summary>
3158
            Resizes an array to a speficied new size and copies a portion of the original array into its beginning.
3159
            </summary>
3160
        </member>
3161
        <member name="T:Microsoft.Scripting.Runtime.DynamicXamlReader">
3162
            <summary>
3163
            Provides services for loading XAML and binding events to dynamic language code definitions.
3164
            </summary>
3165
        </member>
3166
        <member name="M:Microsoft.Scripting.Runtime.DynamicXamlReader.LoadComponent(System.Object,Microsoft.Scripting.Runtime.DynamicOperations,System.IO.Stream,System.Xaml.XamlSchemaContext)">
3167
            <summary>
3168
            Loads XAML from the specified stream and returns the deserialized object.  Any event handlers
3169
            are bound to methods defined in the provided Scope and converted using the provided DynamicOperations
3170
            object.
3171
            </summary>
3172
        </member>
3173
        <member name="M:Microsoft.Scripting.Runtime.DynamicXamlReader.LoadComponent(System.Object,Microsoft.Scripting.Runtime.DynamicOperations,System.String,System.Xaml.XamlSchemaContext)">
3174
            <summary>
3175
            Loads XAML from the specified filename and returns the deserialized object.  Any event handlers
3176
            are bound to methods defined in the provided Scope and converted using the provided DynamicOperations
3177
            object.
3178
            </summary>
3179
        </member>
3180
        <member name="M:Microsoft.Scripting.Runtime.DynamicXamlReader.LoadComponent(System.Object,Microsoft.Scripting.Runtime.DynamicOperations,System.Xml.XmlReader,System.Xaml.XamlSchemaContext)">
3181
            <summary>
3182
            Loads XAML from the specified XmlReader and returns the deserialized object.  Any event handlers
3183
            are bound to methods defined in the provided Scope and converted using the provided DynamicOperations
3184
            object.
3185
            </summary>
3186
        </member>
3187
        <member name="M:Microsoft.Scripting.Runtime.DynamicXamlReader.LoadComponent(System.Object,Microsoft.Scripting.Runtime.DynamicOperations,System.IO.TextReader,System.Xaml.XamlSchemaContext)">
3188
            <summary>
3189
            Loads XAML from the specified TextReader and returns the deserialized object.  Any event handlers
3190
            are bound to methods defined in the provided Scope and converted using the provided DynamicOperations
3191
            object.
3192
            </summary>
3193
        </member>
3194
        <member name="M:Microsoft.Scripting.Runtime.DynamicXamlReader.LoadComponent(System.Object,Microsoft.Scripting.Runtime.DynamicOperations,System.Xaml.XamlXmlReader)">
3195
            <summary>
3196
            Loads XAML from the specified XamlXmlReader and returns the deserialized object.  Any event handlers
3197
            are bound to methods defined in the provided Scope and converted using the provided DynamicOperations
3198
            object.
3199
            </summary>
3200
        </member>
3201
        <member name="P:Microsoft.Scripting.Runtime.DynamicXamlReader.DynamicWriter.Names">
3202
            <summary>
3203
            Returns the list of x:Name'd objects that we saw and should set on the root object.
3204
            </summary>
3205
        </member>
3206
        <member name="M:Microsoft.Scripting.Runtime.DynamicXamlReader.DynamicWriter.Adder(System.Object,System.Object)">
3207
            <summary>
3208
            Dummy, should never be called
3209
            </summary>
3210
        </member>
3211
        <member name="T:Microsoft.Scripting.SourceFileInformation">
3212
            <summary>
3213
            Stores information needed to emit debugging symbol information for a
3214
            source file, in particular the file name and unique language identifier
3215
            </summary>
3216
        </member>
3217
        <member name="P:Microsoft.Scripting.SourceFileInformation.FileName">
3218
            <summary>
3219
            Gets the source file name.
3220
            </summary>
3221
        </member>
3222
        <member name="P:Microsoft.Scripting.SourceFileInformation.LanguageGuid">
3223
            <summary>
3224
            Gets the language's unique identifier, if any.
3225
            </summary>
3226
        </member>
3227
        <member name="P:Microsoft.Scripting.SourceFileInformation.VendorGuid">
3228
            <summary>
3229
            Gets the language vendor's unique identifier, if any.
3230
            </summary>
3231
        </member>
3232
        <member name="T:Microsoft.Scripting.ComInterop.ArgBuilder">
3233
            <summary>
3234
            ArgBuilder provides an argument value used by the MethodBinder.  One ArgBuilder exists for each
3235
            physical parameter defined on a method.  
3236
            
3237
            Contrast this with ParameterWrapper which represents the logical argument passed to the method.
3238
            </summary>
3239
        </member>
3240
        <member name="M:Microsoft.Scripting.ComInterop.ArgBuilder.Marshal(System.Linq.Expressions.Expression)">
3241
            <summary>
3242
            Provides the Expression which provides the value to be passed to the argument.
3243
            </summary>
3244
        </member>
3245
        <member name="M:Microsoft.Scripting.ComInterop.ArgBuilder.MarshalToRef(System.Linq.Expressions.Expression)">
3246
            <summary>
3247
            Provides the Expression which provides the value to be passed to the argument.
3248
            This method is called when result is intended to be used ByRef.
3249
            </summary>
3250
        </member>
3251
        <member name="M:Microsoft.Scripting.ComInterop.ArgBuilder.UnmarshalFromRef(System.Linq.Expressions.Expression)">
3252
            <summary>
3253
            Provides an Expression which will update the provided value after a call to the method.
3254
            May return null if no update is required.
3255
            </summary>
3256
        </member>
3257
        <member name="M:Microsoft.Scripting.ComInterop.BoundDispEvent.TryBinaryOperation(System.Dynamic.BinaryOperationBinder,System.Object,System.Object@)">
3258
            <summary>
3259
            Provides the implementation of performing AddAssign and SubtractAssign binary operations.
3260
            </summary>
3261
            <param name="binder">The binder provided by the call site.</param>
3262
            <param name="handler">The handler for the operation.</param>
3263
            <param name="result">The result of the operation.</param>
3264
            <returns>true if the operation is complete, false if the call site should determine behavior.</returns>
3265
        </member>
3266
        <member name="M:Microsoft.Scripting.ComInterop.BoundDispEvent.InPlaceAdd(System.Object)">
3267
            <summary>
3268
            Adds a handler to an event.
3269
            </summary>
3270
            <param name="handler">The handler to be added.</param>
3271
            <returns>The original event with handler added.</returns>
3272
        </member>
3273
        <member name="M:Microsoft.Scripting.ComInterop.BoundDispEvent.InPlaceSubtract(System.Object)">
3274
            <summary>
3275
            Removes handler from the event.
3276
            </summary>
3277
            <param name="handler">The handler to be removed.</param>
3278
            <returns>The original event with handler removed.</returns>
3279
        </member>
3280
        <member name="T:Microsoft.Scripting.ComInterop.ComBinder">
3281
            <summary>
3282
            Provides helper methods to bind COM objects dynamically.
3283
            </summary>
3284
        </member>
3285
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.IsComObject(System.Object)">
3286
            <summary>
3287
            Determines if an object is a COM object.
3288
            </summary>
3289
            <param name="value">The object to test.</param>
3290
            <returns>true if the object is a COM object, false otherwise.</returns>
3291
        </member>
3292
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryBindGetMember(System.Dynamic.GetMemberBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject@,System.Boolean)">
3293
            <summary>
3294
            Tries to perform binding of the dynamic get member operation.
3295
            </summary>
3296
            <param name="binder">An instance of the <see cref="T:System.Dynamic.GetMemberBinder"/> that represents the details of the dynamic operation.</param>
3297
            <param name="instance">The target of the dynamic operation. </param>
3298
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3299
            <param name="delayInvocation">true if member evaluation may be delayed.</param>
3300
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3301
        </member>
3302
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryBindGetMember(System.Dynamic.GetMemberBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject@)">
3303
            <summary>
3304
            Tries to perform binding of the dynamic get member operation.
3305
            </summary>
3306
            <param name="binder">An instance of the <see cref="T:System.Dynamic.GetMemberBinder"/> that represents the details of the dynamic operation.</param>
3307
            <param name="instance">The target of the dynamic operation. </param>
3308
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3309
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3310
        </member>
3311
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryBindSetMember(System.Dynamic.SetMemberBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject@)">
3312
            <summary>
3313
            Tries to perform binding of the dynamic set member operation.
3314
            </summary>
3315
            <param name="binder">An instance of the <see cref="T:System.Dynamic.SetMemberBinder"/> that represents the details of the dynamic operation.</param>
3316
            <param name="instance">The target of the dynamic operation.</param>
3317
            <param name="value">The <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the value for the set member operation.</param>
3318
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3319
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3320
        </member>
3321
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryBindInvoke(System.Dynamic.InvokeBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject@)">
3322
            <summary>
3323
            Tries to perform binding of the dynamic invoke operation.
3324
            </summary>    
3325
            <param name="binder">An instance of the <see cref="T:System.Dynamic.InvokeBinder"/> that represents the details of the dynamic operation.</param>
3326
            <param name="instance">The target of the dynamic operation. </param>
3327
            <param name="args">An array of <see cref="T:System.Dynamic.DynamicMetaObject"/> instances - arguments to the invoke member operation.</param>
3328
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3329
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3330
        </member>
3331
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryBindInvokeMember(System.Dynamic.InvokeMemberBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject@)">
3332
            <summary>
3333
            Tries to perform binding of the dynamic invoke member operation.
3334
            </summary>
3335
            <param name="binder">An instance of the <see cref="T:System.Dynamic.InvokeMemberBinder"/> that represents the details of the dynamic operation.</param>
3336
            <param name="instance">The target of the dynamic operation. </param>
3337
            <param name="args">An array of <see cref="T:System.Dynamic.DynamicMetaObject"/> instances - arguments to the invoke member operation.</param>
3338
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3339
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3340
        </member>
3341
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryBindGetIndex(System.Dynamic.GetIndexBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject@)">
3342
            <summary>
3343
            Tries to perform binding of the dynamic get index operation.
3344
            </summary>
3345
            <param name="binder">An instance of the <see cref="T:System.Dynamic.GetIndexBinder"/> that represents the details of the dynamic operation.</param>
3346
            <param name="instance">The target of the dynamic operation. </param>
3347
            <param name="args">An array of <see cref="T:System.Dynamic.DynamicMetaObject"/> instances - arguments to the invoke member operation.</param>
3348
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3349
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3350
        </member>
3351
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryBindSetIndex(System.Dynamic.SetIndexBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject@)">
3352
            <summary>
3353
            Tries to perform binding of the dynamic set index operation.
3354
            </summary>
3355
            <param name="binder">An instance of the <see cref="T:System.Dynamic.SetIndexBinder"/> that represents the details of the dynamic operation.</param>
3356
            <param name="instance">The target of the dynamic operation. </param>
3357
            <param name="args">An array of <see cref="T:System.Dynamic.DynamicMetaObject"/> instances - arguments to the invoke member operation.</param>
3358
            <param name="value">The <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the value for the set index operation.</param>
3359
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3360
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3361
        </member>
3362
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.TryConvert(System.Dynamic.ConvertBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject@)">
3363
            <summary>
3364
            Tries to perform binding of the dynamic Convert operation.
3365
            </summary>
3366
            <param name="binder">An instance of the <see cref="T:System.Dynamic.ConvertBinder"/> that represents the details of the dynamic operation.</param>
3367
            <param name="instance">The target of the dynamic operation.</param>
3368
            <param name="result">The new <see cref="T:System.Dynamic.DynamicMetaObject"/> representing the result of the binding.</param>
3369
            <returns>true if operation was bound successfully; otherwise, false.</returns>
3370
        </member>
3371
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.GetDynamicMemberNames(System.Object)">
3372
            <summary>
3373
            Gets the member names associated with the object.
3374
            This function can operate only with objects for which <see cref="M:Microsoft.Scripting.ComInterop.ComBinder.IsComObject(System.Object)"/> returns true.
3375
            </summary>
3376
            <param name="value">The object for which member names are requested.</param>
3377
            <returns>The collection of member names.</returns>
3378
        </member>
3379
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.GetDynamicDataMemberNames(System.Object)">
3380
            <summary>
3381
            Gets the member names of the data-like members associated with the object.
3382
            This function can operate only with objects for which <see cref="M:Microsoft.Scripting.ComInterop.ComBinder.IsComObject(System.Object)"/> returns true.
3383
            </summary>
3384
            <param name="value">The object for which member names are requested.</param>
3385
            <returns>The collection of member names.</returns>
3386
        </member>
3387
        <member name="M:Microsoft.Scripting.ComInterop.ComBinder.GetDynamicDataMembers(System.Object,System.Collections.Generic.IEnumerable{System.String})">
3388
            <summary>
3389
            Gets the data-like members and associated data for an object.
3390
            This function can operate only with objects for which <see cref="M:Microsoft.Scripting.ComInterop.ComBinder.IsComObject(System.Object)"/> returns true.
3391
            </summary>
3392
            <param name="value">The object for which data members are requested.</param>
3393
            <param name="names">The enumeration of names of data members for which to retrieve values.</param>
3394
            <returns>The collection of pairs that represent data member's names and their data.</returns>
3395
        </member>
3396
        <member name="T:Microsoft.Scripting.ComInterop.ComBinder.ComGetMemberBinder">
3397
            <summary>
3398
            Special binder that indicates special semantics for COM GetMember operation.
3399
            </summary>
3400
        </member>
3401
        <member name="T:Microsoft.Scripting.ComInterop.ComEventSink">
3402
            <summary>
3403
            This class implements an event sink for a particular RCW.
3404
            Unlike the implementation of events in TlbImp'd assemblies,
3405
            we will create only one event sink per RCW (theoretically RCW might have
3406
            several ComEventSink evenk sinks - but all these implement different source intefaces).
3407
            Each ComEventSink contains a list of ComEventSinkMethod objects - which represent
3408
            a single method on the source interface an a multicast delegate to redirect 
3409
            the calls. Notice that we are chaining multicast delegates so that same 
3410
            ComEventSinkMedhod can invoke multiple event handlers).
3411
            
3412
            ComEventSink implements an IDisposable pattern to Unadvise from the connection point.
3413
            Typically, when RCW is finalized the corresponding Dispose will be triggered by 
3414
            ComEventSinksContainer finalizer. Notice that lifetime of ComEventSinksContainer
3415
            is bound to the lifetime of the RCW. 
3416
            </summary>
3417
        </member>
3418
        <member name="T:Microsoft.Scripting.ComInterop.ComEventSink.ComEventSinkMethod">
3419
            <summary>
3420
            Contains a methods DISPID (in a string formatted of "[DISPID=N]"
3421
            and a chained list of delegates to invoke
3422
            </summary>
3423
        </member>
3424
        <member name="T:Microsoft.Scripting.ComInterop.ComEventSinkProxy">
3425
            <summary>
3426
            ComEventSinkProxy class is responsible for handling QIs for sourceIid 
3427
            on instances of ComEventSink.
3428
            
3429
            Background: When a COM even sink advises to a connection point it is 
3430
            supposed to hand over the dispinterface. Now, some hosts will trust
3431
            the COM client to pass the correct pointer, but some will not.
3432
            E.g. Excel's implementation of Connection Points will not cause a
3433
            QI on the pointer that has been passed, however Word will QI the
3434
            pointer to return the required interface.
3435
            
3436
            ComEventSink does not, strongly speaking, implements the interface 
3437
            that it claims to implement - it is just "faking" it by using IReflect.
3438
            Thus, Word's QIs on the pointer passed to ICP::Advise would fail. To
3439
            prevent this we take advangate of RealProxy's ability of
3440
            "dressing up" like other classes and hence successfully respond to QIs 
3441
            for interfaces that it does not really support( it is OK to say 
3442
            "I implement this interface" for event sinks only since the common 
3443
            practice is to use IDistpach.Invoke when calling into event sinks). 
3444
            </summary>
3445
        </member>
3446
        <member name="T:Microsoft.Scripting.ComInterop.ComEventSinksContainer">
3447
            <summary>
3448
            ComEventSinksContainer is just a regular list with a finalizer.
3449
            This list is usually attached as a custom data for RCW object and 
3450
            is finalized whenever RCW is finalized.
3451
            </summary>
3452
        </member>
3453
        <member name="T:Microsoft.Scripting.ComInterop.IDispatchMethodIndices">
3454
            <summary>
3455
            Layout of the IDispatch vtable
3456
            </summary>
3457
        </member>
3458
        <member name="T:Microsoft.Scripting.ComInterop.ComInvokeAction">
3459
            <summary>
3460
            Invokes the object. If it falls back, just produce an error.
3461
            </summary>
3462
        </member>
3463
        <member name="T:Microsoft.Scripting.ComInterop.SplatInvokeBinder">
3464
            <summary>
3465
            Splats the arguments to another nested dynamic site, which does the
3466
            real invocation of the IDynamicMetaObjectProvider. 
3467
            </summary>
3468
        </member>
3469
        <member name="M:Microsoft.Scripting.ComInterop.ComInvokeBinder.MakeIDispatchInvokeTarget">
3470
            <summary>
3471
            Create a stub for the target of the optimized lopop.
3472
            </summary>
3473
            <returns></returns>
3474
        </member>
3475
        <member name="M:Microsoft.Scripting.ComInterop.ComInvokeBinder.MakeArgumentExpressions">
3476
            <summary>
3477
            Gets expressions to access all the arguments. This includes the instance argument.
3478
            </summary>
3479
        </member>
3480
        <member name="T:Microsoft.Scripting.ComInterop.ComObject">
3481
            <summary>
3482
            This is a helper class for runtime-callable-wrappers of COM instances. We create one instance of this type
3483
            for every generic RCW instance.
3484
            </summary>
3485
        </member>
3486
        <member name="M:Microsoft.Scripting.ComInterop.ComObject.ObjectToComObject(System.Object)">
3487
            <summary>
3488
            This is the factory method to get the ComObject corresponding to an RCW
3489
            </summary>
3490
            <returns></returns>
3491
        </member>
3492
        <member name="T:Microsoft.Scripting.ComInterop.ComParamDesc">
3493
            <summary>
3494
            The parameter description of a method defined in a type library
3495
            </summary>
3496
        </member>
3497
        <member name="M:Microsoft.Scripting.ComInterop.ComParamDesc.#ctor(System.Runtime.InteropServices.ComTypes.ELEMDESC@,System.String)">
3498
            <summary>
3499
            Creates a representation for the paramter of a COM method
3500
            </summary>
3501
        </member>
3502
        <member name="M:Microsoft.Scripting.ComInterop.ComParamDesc.#ctor(System.Runtime.InteropServices.ComTypes.ELEMDESC@)">
3503
            <summary>
3504
            Creates a representation for the return value of a COM method
3505
            TODO: Return values should be represented by a different type
3506
            </summary>
3507
        </member>
3508
        <member name="P:Microsoft.Scripting.ComInterop.ComParamDesc.DefaultValue">
3509
            <summary>
3510
            DBNull.Value if there is no default value
3511
            </summary>
3512
        </member>
3513
        <member name="M:Microsoft.Scripting.ComInterop.ComRuntimeHelpers.GetITypeInfoFromIDispatch(Microsoft.Scripting.ComInterop.IDispatch,System.Boolean)">
3514
            <summary>
3515
            Look for typeinfo using IDispatch.GetTypeInfo
3516
            </summary>
3517
            <param name="dispatch"></param>
3518
            <param name="throwIfMissingExpectedTypeInfo">
3519
            Some COM objects just dont expose typeinfo. In these cases, this method will return null.
3520
            Some COM objects do intend to expose typeinfo, but may not be able to do so if the type-library is not properly 
3521
            registered. This will be considered as acceptable or as an error condition depending on throwIfMissingExpectedTypeInfo</param>
3522
            <returns></returns>
3523
        </member>
3524
        <member name="M:Microsoft.Scripting.ComInterop.ComRuntimeHelpers.CheckIfMissingTypeInfoIsExpected(System.Int32,System.Boolean)">
3525
            <summary>
3526
            This method should be called when typeinfo is not available for an object. The function
3527
            will check if the typeinfo is expected to be missing. This can include error cases where
3528
            the same error is guaranteed to happen all the time, on all machines, under all circumstances.
3529
            In such cases, we just have to operate without the typeinfo.
3530
            
3531
            However, if accessing the typeinfo is failing in a transient way, we might want to throw
3532
            an exception so that we will eagerly predictably indicate the problem.
3533
            </summary>
3534
        </member>
3535
        <member name="T:Microsoft.Scripting.ComInterop.UnsafeMethods">
3536
            <summary>
3537
            This class contains methods that either cannot be expressed in C#, or which require writing unsafe code.
3538
            Callers of these methods need to use them extremely carefully as incorrect use could cause GC-holes
3539
            and other problems.
3540
            </summary>
3541
            
3542
        </member>
3543
        <member name="M:Microsoft.Scripting.ComInterop.UnsafeMethods.AssertByrefPointsToStack(System.IntPtr)">
3544
            <summary>
3545
            Ensure that "value" is a local variable in some caller's frame. So converting
3546
            the byref to an IntPtr is a safe operation. Alternatively, we could also allow 
3547
            allowed "value"  to be a pinned object.
3548
            </summary>
3549
        </member>
3550
        <member name="T:Microsoft.Scripting.ComInterop.UnsafeMethods.IUnknownReleaseDelegate">
3551
            <summary>
3552
            We will emit an indirect call to an unmanaged function pointer from the vtable of the given interface pointer. 
3553
            This approach can take only ~300 instructions on x86 compared with ~900 for Marshal.Release. We are relying on 
3554
            the JIT-compiler to do pinvoke-stub-inlining and calling the pinvoke target directly.
3555
            </summary>
3556
        </member>
3557
        <member name="T:Microsoft.Scripting.ComInterop.UnsafeMethods.IDispatchInvokeDelegate">
3558
            <summary>
3559
            We will emit an indirect call to an unmanaged function pointer from the vtable of the given IDispatch interface pointer. 
3560
            It is not possible to express this in C#. Using an indirect pinvoke call allows us to do our own marshalling. 
3561
            We can allocate the Variant arguments cheaply on the stack. We are relying on the JIT-compiler to do 
3562
            pinvoke-stub-inlining and calling the pinvoke target directly.
3563
            The alternative of calling via a managed interface declaration of IDispatch would have a performance
3564
            penalty of going through a CLR stub that would have to re-push the arguments on the stack, etc.
3565
            Marshal.GetDelegateForFunctionPointer could be used here, but its too expensive (~2000 instructions on x86).
3566
            </summary>
3567
        </member>
3568
        <member name="T:Microsoft.Scripting.ComInterop.ComTypeLibDesc">
3569
            <summary>
3570
            Cached information from a TLB. Only information that is required is saved. CoClasses are used
3571
            for event hookup. Enums are stored for accessing symbolic names from scripts. 
3572
            </summary>
3573
        </member>
3574
        <member name="M:Microsoft.Scripting.ComInterop.ComTypeLibDesc.CreateFromGuid(System.Guid)">
3575
            <summary>
3576
            Reads the latest registered type library for the corresponding GUID,
3577
            reads definitions of CoClass'es and Enum's from this library
3578
            and creates a IDynamicMetaObjectProvider that allows to instantiate coclasses
3579
            and get actual values for the enums.
3580
            </summary>
3581
            <param name="typeLibGuid">Type Library Guid</param>
3582
            <returns>ComTypeLibDesc object</returns>
3583
        </member>
3584
        <member name="M:Microsoft.Scripting.ComInterop.ComTypeLibDesc.CreateFromObject(System.Object)">
3585
            <summary>
3586
            Gets an ITypeLib object from OLE Automation compatible RCW ,
3587
            reads definitions of CoClass'es and Enum's from this library
3588
            and creates a IDynamicMetaObjectProvider that allows to instantiate coclasses
3589
            and get actual values for the enums.
3590
            </summary>
3591
            <param name="rcw">OLE automation compatible RCW</param>
3592
            <returns>ComTypeLibDesc object</returns>
3593
        </member>
3594
        <member name="T:Microsoft.Scripting.ComInterop.DispCallable">
3595
            <summary>
3596
            This represents a bound dispmember on a IDispatch object.
3597
            </summary>
3598
        </member>
3599
        <member name="T:Microsoft.Scripting.ComInterop.ExcepInfo">
3600
            <summary>
3601
            This is similar to ComTypes.EXCEPINFO, but lets us do our own custom marshaling
3602
            </summary>
3603
        </member>
3604
        <member name="T:Microsoft.Scripting.ComInterop.IDispatchComObject">
3605
            <summary>
3606
            An object that implements IDispatch
3607
            
3608
            This currently has the following issues:
3609
            1. If we prefer ComObjectWithTypeInfo over IDispatchComObject, then we will often not
3610
               IDispatchComObject since implementations of IDispatch often rely on a registered type library. 
3611
               If we prefer IDispatchComObject over ComObjectWithTypeInfo, users get a non-ideal experience.
3612
            2. IDispatch cannot distinguish between properties and methods with 0 arguments (and non-0 
3613
               default arguments?). So obj.foo() is ambiguous as it could mean invoking method foo, 
3614
               or it could mean invoking the function pointer returned by property foo.
3615
               We are attempting to find whether we need to call a method or a property by examining
3616
               the ITypeInfo associated with the IDispatch. ITypeInfo tell's use what parameters the method
3617
               expects, is it a method or a property, what is the default property of the object, how to 
3618
               create an enumerator for collections etc.
3619
            3. IronPython processes the signature and converts ref arguments into return values. 
3620
               However, since the signature of a DispMethod is not available beforehand, this conversion 
3621
               is not possible. There could be other signature conversions that may be affected. How does 
3622
               VB6 deal with ref arguments and IDispatch?
3623
               
3624
            We also support events for IDispatch objects:
3625
            Background:
3626
            COM objects support events through a mechanism known as Connect Points.
3627
            Connection Points are separate objects created off the actual COM 
3628
            object (this is to prevent circular references between event sink
3629
            and event source). When clients want to sink events generated  by 
3630
            COM object they would implement callback interfaces (aka source 
3631
            interfaces) and hand it over (advise) to the Connection Point. 
3632
            
3633
            Implementation details:
3634
            When IDispatchComObject.TryGetMember request is received we first check
3635
            whether the requested member is a property or a method. If this check
3636
            fails we will try to determine whether an event is requested. To do 
3637
            so we will do the following set of steps:
3638
            1. Verify the COM object implements IConnectionPointContainer
3639
            2. Attempt to find COM object's coclass's description
3640
               a. Query the object for IProvideClassInfo interface. Go to 3, if found
3641
               b. From object's IDispatch retrieve primary interface description
3642
               c. Scan coclasses declared in object's type library.
3643
               d. Find coclass implementing this particular primary interface 
3644
            3. Scan coclass for all its source interfaces.
3645
            4. Check whether to any of the methods on the source interfaces matches 
3646
            the request name
3647
            
3648
            Once we determine that TryGetMember requests an event we will return
3649
            an instance of BoundDispEvent class. This class has InPlaceAdd and
3650
            InPlaceSubtract operators defined. Calling InPlaceAdd operator will:
3651
            1. An instance of ComEventSinksContainer class is created (unless 
3652
            RCW already had one). This instance is hanged off the RCW in attempt
3653
            to bind the lifetime of event sinks to the lifetime of the RCW itself,
3654
            meaning event sink will be collected once the RCW is collected (this
3655
            is the same way event sinks lifetime is controlled by PIAs).
3656
            Notice: ComEventSinksContainer contains a Finalizer which will go and
3657
            unadvise all event sinks.
3658
            Notice: ComEventSinksContainer is a list of ComEventSink objects. 
3659
            2. Unless we have already created a ComEventSink for the required 
3660
            source interface, we will create and advise a new ComEventSink. Each
3661
            ComEventSink implements a single source interface that COM object 
3662
            supports. 
3663
            3. ComEventSink contains a map between method DISPIDs to  the 
3664
            multicast delegate that will be invoked when the event is raised.
3665
            4. ComEventSink implements IReflect interface which is exposed as
3666
            custom IDispatch to COM consumers. This allows us to intercept calls
3667
            to IDispatch.Invoke and apply custom logic - in particular we will
3668
            just find and invoke the multicast delegate corresponding to the invoked
3669
            dispid.
3670
             </summary>
3671
        </member>
3672
        <member name="T:Microsoft.Scripting.ComInterop.NullArgBuilder">
3673
            <summary>
3674
            ArgBuilder which always produces null.  
3675
            </summary>
3676
        </member>
3677
        <member name="T:Microsoft.Scripting.ComInterop.SimpleArgBuilder">
3678
            <summary>
3679
            SimpleArgBuilder produces the value produced by the user as the argument value.  It
3680
            also tracks information about the original parameter and is used to create extended
3681
            methods for params arrays and param dictionary functions.
3682
            </summary>
3683
        </member>
3684
        <member name="T:Microsoft.Scripting.ComInterop.VarEnumSelector">
3685
            <summary>
3686
            If a managed user type (as opposed to a primitive type or a COM object) is passed as an argument to a COM call, we need
3687
            to determine the VarEnum type we will marshal it as. We have the following options:
3688
            1.  Raise an exception. Languages with their own version of primitive types would not be able to call
3689
                COM methods using the language's types (for eg. strings in IronRuby are not System.String). An explicit
3690
                cast would be needed.
3691
            2.  We could marshal it as VT_DISPATCH. Then COM code will be able to access all the APIs in a late-bound manner,
3692
                but old COM components will probably malfunction if they expect a primitive type.
3693
            3.  We could guess which primitive type is the closest match. This will make COM components be as easily 
3694
                accessible as .NET methods.
3695
            4.  We could use the type library to check what the expected type is. However, the type library may not be available.
3696
            
3697
            VarEnumSelector implements option # 3
3698
            </summary>
3699
        </member>
3700
        <member name="M:Microsoft.Scripting.ComInterop.VarEnumSelector.GetManagedMarshalType(System.Runtime.InteropServices.VarEnum)">
3701
            <summary>
3702
            Gets the managed type that an object needs to be coverted to in order for it to be able
3703
            to be represented as a Variant.
3704
            
3705
            In general, there is a many-to-many mapping between Type and VarEnum. However, this method
3706
            returns a simple mapping that is needed for the current implementation. The reason for the 
3707
            many-to-many relation is:
3708
            1. Int32 maps to VT_I4 as well as VT_ERROR, and Decimal maps to VT_DECIMAL and VT_CY. However,
3709
               this changes if you throw the wrapper types into the mix.
3710
            2. There is no Type to represent COM types. __ComObject is a private type, and Object is too
3711
               general.
3712
            </summary>
3713
        </member>
3714
        <member name="M:Microsoft.Scripting.ComInterop.VarEnumSelector.CreateComPrimitiveTypeFamilies">
3715
            <summary>
3716
            Creates a family of COM types such that within each family, there is a completely non-lossy
3717
            conversion from a type to an earlier type in the family.
3718
            </summary>
3719
        </member>
3720
        <member name="M:Microsoft.Scripting.ComInterop.VarEnumSelector.GetConversionsToComPrimitiveTypeFamilies(System.Type)">
3721
            <summary>
3722
            Get the (one representative type for each) primitive type families that the argument can be converted to
3723
            </summary>
3724
        </member>
3725
        <member name="M:Microsoft.Scripting.ComInterop.VarEnumSelector.CheckForAmbiguousMatch(System.Type,System.Collections.Generic.List{System.Runtime.InteropServices.VarEnum})">
3726
            <summary>
3727
            If there is more than one type family that the argument can be converted to, we will throw a
3728
            AmbiguousMatchException instead of randomly picking a winner.
3729
            </summary>
3730
        </member>
3731
        <member name="M:Microsoft.Scripting.ComInterop.VarEnumSelector.TryGetPrimitiveComTypeViaConversion(System.Type,System.Runtime.InteropServices.VarEnum@)">
3732
            <summary>
3733
            Is there a unique primitive type that has the best conversion for the argument
3734
            </summary>
3735
        </member>
3736
        <member name="M:Microsoft.Scripting.ComInterop.VarEnumSelector.GetVariantBuilder(System.Type)">
3737
            <summary>
3738
            Get the COM Variant type that argument should be marshaled as for a call to COM
3739
            </summary>
3740
        </member>
3741
        <member name="T:Microsoft.Scripting.ComInterop.Variant">
3742
            <summary>
3743
            Variant is the basic COM type for late-binding. It can contain any other COM data type.
3744
            This type definition precisely matches the unmanaged data layout so that the struct can be passed
3745
            to and from COM calls.
3746
            </summary>
3747
        </member>
3748
        <member name="M:Microsoft.Scripting.ComInterop.Variant.IsPrimitiveType(System.Runtime.InteropServices.VarEnum)">
3749
            <summary>
3750
            Primitive types are the basic COM types. It includes valuetypes like ints, but also reference types
3751
            like BStrs. It does not include composite types like arrays and user-defined COM types (IUnknown/IDispatch).
3752
            </summary>
3753
        </member>
3754
        <member name="M:Microsoft.Scripting.ComInterop.Variant.ToObject">
3755
            <summary>
3756
            Get the managed object representing the Variant.
3757
            </summary>
3758
            <returns></returns>
3759
        </member>
3760
        <member name="M:Microsoft.Scripting.ComInterop.Variant.Clear">
3761
            <summary>
3762
            Release any unmanaged memory associated with the Variant
3763
            </summary>
3764
            <returns></returns>
3765
        </member>
3766
        <member name="T:Microsoft.Scripting.ComInterop.VariantBuilder">
3767
            <summary>
3768
            VariantBuilder handles packaging of arguments into a Variant for a call to IDispatch.Invoke
3769
            </summary>
3770
        </member>
3771
        <member name="T:Microsoft.Scripting.Strings">
3772
            <summary>
3773
               Strongly-typed and parameterized string factory.
3774
            </summary>
3775
            <summary>
3776
               Strongly-typed and parameterized string factory.
3777
            </summary>
3778
        </member>
3779
        <member name="P:Microsoft.Scripting.Strings.ComObjectExpected">
3780
            <summary>
3781
            A string like  "COM object is expected."
3782
            </summary>
3783
        </member>
3784
        <member name="P:Microsoft.Scripting.Strings.CannotCall">
3785
            <summary>
3786
            A string like  "Cannot perform call."
3787
            </summary>
3788
        </member>
3789
        <member name="P:Microsoft.Scripting.Strings.COMObjectDoesNotSupportEvents">
3790
            <summary>
3791
            A string like  "COM object does not support events."
3792
            </summary>
3793
        </member>
3794
        <member name="P:Microsoft.Scripting.Strings.COMObjectDoesNotSupportSourceInterface">
3795
            <summary>
3796
            A string like  "COM object does not support specified source interface."
3797
            </summary>
3798
        </member>
3799
        <member name="P:Microsoft.Scripting.Strings.SetComObjectDataFailed">
3800
            <summary>
3801
            A string like  "Marshal.SetComObjectData failed."
3802
            </summary>
3803
        </member>
3804
        <member name="P:Microsoft.Scripting.Strings.MethodShouldNotBeCalled">
3805
            <summary>
3806
            A string like  "This method exists only to keep the compiler happy."
3807
            </summary>
3808
        </member>
3809
        <member name="M:Microsoft.Scripting.Strings.UnexpectedVarEnum(System.Object)">
3810
            <summary>
3811
            A string like  "Unexpected VarEnum {0}."
3812
            </summary>
3813
        </member>
3814
        <member name="M:Microsoft.Scripting.Strings.DispBadParamCount(System.Object)">
3815
            <summary>
3816
            A string like  "Error while invoking {0}."
3817
            </summary>
3818
        </member>
3819
        <member name="M:Microsoft.Scripting.Strings.DispMemberNotFound(System.Object)">
3820
            <summary>
3821
            A string like  "Error while invoking {0}."
3822
            </summary>
3823
        </member>
3824
        <member name="M:Microsoft.Scripting.Strings.DispNoNamedArgs(System.Object)">
3825
            <summary>
3826
            A string like  "Error while invoking {0}. Named arguments are not supported."
3827
            </summary>
3828
        </member>
3829
        <member name="M:Microsoft.Scripting.Strings.DispOverflow(System.Object)">
3830
            <summary>
3831
            A string like  "Error while invoking {0}."
3832
            </summary>
3833
        </member>
3834
        <member name="M:Microsoft.Scripting.Strings.DispTypeMismatch(System.Object,System.Object)">
3835
            <summary>
3836
            A string like  "Could not convert argument {0} for call to {1}."
3837
            </summary>
3838
        </member>
3839
        <member name="M:Microsoft.Scripting.Strings.DispParamNotOptional(System.Object)">
3840
            <summary>
3841
            A string like  "Error while invoking {0}. A required parameter was omitted."
3842
            </summary>
3843
        </member>
3844
        <member name="P:Microsoft.Scripting.Strings.CannotRetrieveTypeInformation">
3845
            <summary>
3846
            A string like  "ResolveComReference.CannotRetrieveTypeInformation."
3847
            </summary>
3848
        </member>
3849
        <member name="M:Microsoft.Scripting.Strings.GetIDsOfNamesInvalid(System.Object)">
3850
            <summary>
3851
            A string like  "IDispatch::GetIDsOfNames behaved unexpectedly for {0}."
3852
            </summary>
3853
        </member>
3854
        <member name="P:Microsoft.Scripting.Strings.UnsupportedEnumType">
3855
            <summary>
3856
            A string like  "Attempting to wrap an unsupported enum type."
3857
            </summary>
3858
        </member>
3859
        <member name="P:Microsoft.Scripting.Strings.UnsupportedHandlerType">
3860
            <summary>
3861
            A string like  "Attempting to pass an event handler of an unsupported type."
3862
            </summary>
3863
        </member>
3864
        <member name="M:Microsoft.Scripting.Strings.CouldNotGetDispId(System.Object,System.Object)">
3865
            <summary>
3866
            A string like  "Could not get dispatch ID for {0} (error: {1})."
3867
            </summary>
3868
        </member>
3869
        <member name="M:Microsoft.Scripting.Strings.AmbiguousConversion(System.Object,System.Object)">
3870
            <summary>
3871
            A string like  "There are valid conversions from {0} to {1}."
3872
            </summary>
3873
        </member>
3874
        <member name="M:Microsoft.Scripting.Strings.VariantGetAccessorNYI(System.Object)">
3875
            <summary>
3876
            A string like  "Variant.GetAccessor cannot handle {0}."
3877
            </summary>
3878
        </member>
3879
        <member name="M:Microsoft.Scripting.Strings.InvalidOperation_ContainsGenericParameters(System.Object,System.Object)">
3880
            <summary>
3881
            A string like  "Cannot access member {1} declared on type {0} because the type contains generic parameters."
3882
            </summary>
3883
        </member>
3884
        <member name="M:Microsoft.Scripting.Strings.MissingType(System.Object)">
3885
            <summary>
3886
            A string like  "Type '{0}' is missing or cannot be loaded."
3887
            </summary>
3888
        </member>
3889
        <member name="M:Microsoft.Scripting.Strings.StaticAccessFromInstanceError(System.Object,System.Object)">
3890
            <summary>
3891
            A string like  "static property "{0}" of "{1}" can only be read through a type, not an instance"
3892
            </summary>
3893
        </member>
3894
        <member name="M:Microsoft.Scripting.Strings.StaticAssignmentFromInstanceError(System.Object,System.Object)">
3895
            <summary>
3896
            A string like  "static property "{0}" of "{1}" can only be assigned to through a type, not an instance"
3897
            </summary>
3898
        </member>
3899
        <member name="P:Microsoft.Scripting.Strings.MethodPreconditionViolated">
3900
            <summary>
3901
            A string like  "Method precondition violated"
3902
            </summary>
3903
        </member>
3904
        <member name="P:Microsoft.Scripting.Strings.InvalidArgumentValue">
3905
            <summary>
3906
            A string like  "Invalid argument value"
3907
            </summary>
3908
        </member>
3909
        <member name="P:Microsoft.Scripting.Strings.NonEmptyStringRequired">
3910
            <summary>
3911
            A string like  "Non-empty string required"
3912
            </summary>
3913
        </member>
3914
        <member name="P:Microsoft.Scripting.Strings.NonEmptyCollectionRequired">
3915
            <summary>
3916
            A string like  "Non-empty collection required"
3917
            </summary>
3918
        </member>
3919
        <member name="P:Microsoft.Scripting.Strings.MustBeExceptionInstance">
3920
            <summary>
3921
            A string like  "must by an Exception instance"
3922
            </summary>
3923
        </member>
3924
        <member name="P:Microsoft.Scripting.Strings.TypeOfTestMustBeBool">
3925
            <summary>
3926
            A string like  "Type of test must be bool"
3927
            </summary>
3928
        </member>
3929
        <member name="P:Microsoft.Scripting.Strings.TypeOfExpressionMustBeBool">
3930
            <summary>
3931
            A string like  "Type of the expression must be bool"
3932
            </summary>
3933
        </member>
3934
        <member name="P:Microsoft.Scripting.Strings.EmptyStringIsInvalidPath">
3935
            <summary>
3936
            A string like  "Empty string is not a valid path."
3937
            </summary>
3938
        </member>
3939
        <member name="P:Microsoft.Scripting.Strings.InvalidDelegate">
3940
            <summary>
3941
            A string like  "Invalid delegate type (Invoke method not found)."
3942
            </summary>
3943
        </member>
3944
        <member name="P:Microsoft.Scripting.Strings.ExpectedStaticProperty">
3945
            <summary>
3946
            A string like  "expected only static property"
3947
            </summary>
3948
        </member>
3949
        <member name="P:Microsoft.Scripting.Strings.PropertyDoesNotExist">
3950
            <summary>
3951
            A string like  "Property doesn't exist on the provided type"
3952
            </summary>
3953
        </member>
3954
        <member name="P:Microsoft.Scripting.Strings.FieldDoesNotExist">
3955
            <summary>
3956
            A string like  "Field doesn't exist on provided type"
3957
            </summary>
3958
        </member>
3959
        <member name="P:Microsoft.Scripting.Strings.TypeDoesNotHaveConstructorForTheSignature">
3960
            <summary>
3961
            A string like  "Type doesn't have constructor with a given signature"
3962
            </summary>
3963
        </member>
3964
        <member name="P:Microsoft.Scripting.Strings.TypeDoesNotHaveMethodForName">
3965
            <summary>
3966
            A string like  "Type doesn't have a method with a given name."
3967
            </summary>
3968
        </member>
3969
        <member name="P:Microsoft.Scripting.Strings.TypeDoesNotHaveMethodForNameSignature">
3970
            <summary>
3971
            A string like  "Type doesn't have a method with a given name and signature."
3972
            </summary>
3973
        </member>
3974
        <member name="P:Microsoft.Scripting.Strings.CountCannotBeNegative">
3975
            <summary>
3976
            A string like  "Count must be non-negative."
3977
            </summary>
3978
        </member>
3979
        <member name="P:Microsoft.Scripting.Strings.ArrayTypeMustBeArray">
3980
            <summary>
3981
            A string like  "arrayType must be an array type"
3982
            </summary>
3983
        </member>
3984
        <member name="P:Microsoft.Scripting.Strings.MustHaveCodeOrTarget">
3985
            <summary>
3986
            A string like  "Either code or target must be specified."
3987
            </summary>
3988
        </member>
3989
        <member name="M:Microsoft.Scripting.Strings.TypeParameterIsNotDelegate(System.Object)">
3990
            <summary>
3991
            A string like  "Type parameter is {0}. Expected a delegate."
3992
            </summary>
3993
        </member>
3994
        <member name="M:Microsoft.Scripting.Strings.InvalidCast(System.Object,System.Object)">
3995
            <summary>
3996
            A string like  "Cannot cast from type '{0}' to type '{1}"
3997
            </summary>
3998
        </member>
3999
        <member name="M:Microsoft.Scripting.Strings.UnknownMemberType(System.Object)">
4000
            <summary>
4001
            A string like  "unknown member type: '{0}'. "
4002
            </summary>
4003
        </member>
4004
        <member name="P:Microsoft.Scripting.Strings.FirstArgumentMustBeCallSite">
4005
            <summary>
4006
            A string like  "RuleBuilder can only be used with delegates whose first argument is CallSite."
4007
            </summary>
4008
        </member>
4009
        <member name="P:Microsoft.Scripting.Strings.NoInstanceForCall">
4010
            <summary>
4011
            A string like  "no instance for call."
4012
            </summary>
4013
        </member>
4014
        <member name="P:Microsoft.Scripting.Strings.MissingTest">
4015
            <summary>
4016
            A string like  "Missing Test."
4017
            </summary>
4018
        </member>
4019
        <member name="P:Microsoft.Scripting.Strings.MissingTarget">
4020
            <summary>
4021
            A string like  "Missing Target."
4022
            </summary>
4023
        </member>
4024
        <member name="M:Microsoft.Scripting.Strings.NonGenericWithGenericGroup(System.Object)">
4025
            <summary>
4026
            A string like  "The operation requires a non-generic type for {0}, but this represents generic types only"
4027
            </summary>
4028
        </member>
4029
        <member name="M:Microsoft.Scripting.Strings.InvalidOperation(System.Object)">
4030
            <summary>
4031
            A string like  "Invalid operation: '{0}'"
4032
            </summary>
4033
        </member>
4034
        <member name="P:Microsoft.Scripting.Strings.FinallyAlreadyDefined">
4035
            <summary>
4036
            A string like  "Finally already defined."
4037
            </summary>
4038
        </member>
4039
        <member name="P:Microsoft.Scripting.Strings.CannotHaveFaultAndFinally">
4040
            <summary>
4041
            A string like  "Can not have fault and finally."
4042
            </summary>
4043
        </member>
4044
        <member name="P:Microsoft.Scripting.Strings.FaultAlreadyDefined">
4045
            <summary>
4046
            A string like  "Fault already defined."
4047
            </summary>
4048
        </member>
4049
        <member name="M:Microsoft.Scripting.Strings.CantCreateDefaultTypeFor(System.Object)">
4050
            <summary>
4051
            A string like  "Cannot create default value for type {0}."
4052
            </summary>
4053
        </member>
4054
        <member name="M:Microsoft.Scripting.Strings.UnhandledConvert(System.Object)">
4055
            <summary>
4056
            A string like  "Unhandled convert: {0}"
4057
            </summary>
4058
        </member>
4059
        <member name="M:Microsoft.Scripting.Strings.NoCallableMethods(System.Object,System.Object)">
4060
            <summary>
4061
            A string like  "{0}.{1} has no publiclly visible method."
4062
            </summary>
4063
        </member>
4064
        <member name="P:Microsoft.Scripting.Strings.GlobalsMustBeUnique">
4065
            <summary>
4066
            A string like  "Global/top-level local variable names must be unique."
4067
            </summary>
4068
        </member>
4069
        <member name="P:Microsoft.Scripting.Strings.GenNonSerializableBinder">
4070
            <summary>
4071
            A string like  "Generating code from non-serializable CallSiteBinder."
4072
            </summary>
4073
        </member>
4074
        <member name="P:Microsoft.Scripting.Strings.InvalidPath">
4075
            <summary>
4076
            A string like  "pecified path is invalid."
4077
            </summary>
4078
        </member>
4079
        <member name="P:Microsoft.Scripting.Strings.DictionaryNotHashable">
4080
            <summary>
4081
            A string like  "Dictionaries are not hashable."
4082
            </summary>
4083
        </member>
4084
        <member name="P:Microsoft.Scripting.Strings.LanguageRegistered">
4085
            <summary>
4086
            A string like  "language already registered."
4087
            </summary>
4088
        </member>
4089
        <member name="P:Microsoft.Scripting.Strings.MethodOrOperatorNotImplemented">
4090
            <summary>
4091
            A string like  "The method or operation is not implemented."
4092
            </summary>
4093
        </member>
4094
        <member name="P:Microsoft.Scripting.Strings.NoException">
4095
            <summary>
4096
            A string like  "No exception."
4097
            </summary>
4098
        </member>
4099
        <member name="M:Microsoft.Scripting.Strings.ExtensionMustBePublic(System.Object)">
4100
            <summary>
4101
            A string like  "Extension type {0} must be public."
4102
            </summary>
4103
        </member>
4104
        <member name="P:Microsoft.Scripting.Strings.AlreadyInitialized">
4105
            <summary>
4106
            A string like  "Already initialized."
4107
            </summary>
4108
        </member>
4109
        <member name="P:Microsoft.Scripting.Strings.MustReturnScopeExtension">
4110
            <summary>
4111
            A string like  "CreateScopeExtension must return a scope extension."
4112
            </summary>
4113
        </member>
4114
        <member name="P:Microsoft.Scripting.Strings.InvalidParamNumForService">
4115
            <summary>
4116
            A string like  "Invalid number of parameters for the service."
4117
            </summary>
4118
        </member>
4119
        <member name="M:Microsoft.Scripting.Strings.InvalidArgumentType(System.Object,System.Object)">
4120
            <summary>
4121
            A string like  "Invalid type of argument {0}; expecting {1}."
4122
            </summary>
4123
        </member>
4124
        <member name="P:Microsoft.Scripting.Strings.CannotChangeNonCachingValue">
4125
            <summary>
4126
            A string like  "Cannot change non-caching value."
4127
            </summary>
4128
        </member>
4129
        <member name="M:Microsoft.Scripting.Strings.FieldReadonly(System.Object)">
4130
            <summary>
4131
            A string like  "Field {0} is read-only"
4132
            </summary>
4133
        </member>
4134
        <member name="M:Microsoft.Scripting.Strings.PropertyReadonly(System.Object)">
4135
            <summary>
4136
            A string like  "Property {0} is read-only"
4137
            </summary>
4138
        </member>
4139
        <member name="M:Microsoft.Scripting.Strings.UnexpectedEvent(System.Object,System.Object,System.Object,System.Object)">
4140
            <summary>
4141
            A string like  "Expected event from {0}.{1}, got event from {2}.{3}."
4142
            </summary>
4143
        </member>
4144
        <member name="M:Microsoft.Scripting.Strings.ExpectedBoundEvent(System.Object)">
4145
            <summary>
4146
            A string like  "expected bound event, got {0}."
4147
            </summary>
4148
        </member>
4149
        <member name="M:Microsoft.Scripting.Strings.UnexpectedType(System.Object,System.Object)">
4150
            <summary>
4151
            A string like  "Expected type {0}, got {1}."
4152
            </summary>
4153
        </member>
4154
        <member name="M:Microsoft.Scripting.Strings.MemberWriteOnly(System.Object)">
4155
            <summary>
4156
            A string like  "can only write to member {0}."
4157
            </summary>
4158
        </member>
4159
        <member name="P:Microsoft.Scripting.Strings.NoCodeToCompile">
4160
            <summary>
4161
            A string like  "No code to compile."
4162
            </summary>
4163
        </member>
4164
        <member name="M:Microsoft.Scripting.Strings.InvalidStreamType(System.Object)">
4165
            <summary>
4166
            A string like  "Invalid stream type: {0}."
4167
            </summary>
4168
        </member>
4169
        <member name="P:Microsoft.Scripting.Strings.QueueEmpty">
4170
            <summary>
4171
            A string like  "Queue empty."
4172
            </summary>
4173
        </member>
4174
        <member name="P:Microsoft.Scripting.Strings.EnumerationNotStarted">
4175
            <summary>
4176
            A string like  "Enumeration has not started. Call MoveNext."
4177
            </summary>
4178
        </member>
4179
        <member name="P:Microsoft.Scripting.Strings.EnumerationFinished">
4180
            <summary>
4181
            A string like  "Enumeration already finished."
4182
            </summary>
4183
        </member>
4184
        <member name="M:Microsoft.Scripting.Strings.CantAddCasing(System.Object)">
4185
            <summary>
4186
            A string like  "can't add another casing for identifier {0}"
4187
            </summary>
4188
        </member>
4189
        <member name="M:Microsoft.Scripting.Strings.CantAddIdentifier(System.Object)">
4190
            <summary>
4191
            A string like  "can't add new identifier {0}"
4192
            </summary>
4193
        </member>
4194
        <member name="M:Microsoft.Scripting.Strings.InvalidCtorImplementation(System.Object,System.Object)">
4195
            <summary>
4196
            A string like  "Type '{0}' doesn't provide a suitable public constructor or its implementation is faulty: {1}"
4197
            </summary>
4198
        </member>
4199
        <member name="P:Microsoft.Scripting.Strings.InvalidOutputDir">
4200
            <summary>
4201
            A string like  "Invalid output directory."
4202
            </summary>
4203
        </member>
4204
        <member name="P:Microsoft.Scripting.Strings.InvalidAsmNameOrExtension">
4205
            <summary>
4206
            A string like  "Invalid assembly name or file extension."
4207
            </summary>
4208
        </member>
4209
        <member name="M:Microsoft.Scripting.Strings.CanotEmitConstant(System.Object,System.Object)">
4210
            <summary>
4211
            A string like  "Cannot emit constant {0} ({1})"
4212
            </summary>
4213
        </member>
4214
        <member name="M:Microsoft.Scripting.Strings.NoImplicitCast(System.Object,System.Object)">
4215
            <summary>
4216
            A string like  "No implicit cast from {0} to {1}"
4217
            </summary>
4218
        </member>
4219
        <member name="M:Microsoft.Scripting.Strings.NoExplicitCast(System.Object,System.Object)">
4220
            <summary>
4221
            A string like  "No explicit cast from {0} to {1}"
4222
            </summary>
4223
        </member>
4224
        <member name="M:Microsoft.Scripting.Strings.NameNotDefined(System.Object)">
4225
            <summary>
4226
            A string like  "name '{0}' not defined"
4227
            </summary>
4228
        </member>
4229
        <member name="P:Microsoft.Scripting.Strings.NoDefaultValue">
4230
            <summary>
4231
            A string like  "No default value for a given type."
4232
            </summary>
4233
        </member>
4234
        <member name="P:Microsoft.Scripting.Strings.UnknownLanguageProviderType">
4235
            <summary>
4236
            A string like  "Specified language provider type is not registered."
4237
            </summary>
4238
        </member>
4239
        <member name="P:Microsoft.Scripting.Strings.CantReadProperty">
4240
            <summary>
4241
            A string like  "can't read from property"
4242
            </summary>
4243
        </member>
4244
        <member name="P:Microsoft.Scripting.Strings.CantWriteProperty">
4245
            <summary>
4246
            A string like  "can't write to property"
4247
            </summary>
4248
        </member>
4249
        <member name="M:Microsoft.Scripting.Strings.IllegalNew_GenericParams(System.Object)">
4250
            <summary>
4251
            A string like  "Cannot create instance of {0} because it contains generic parameters"
4252
            </summary>
4253
        </member>
4254
        <member name="M:Microsoft.Scripting.Strings.VerificationException(System.Object,System.Object,System.Object)">
4255
            <summary>
4256
            A string like  "Non-verifiable assembly generated: {0}:\nAssembly preserved as {1}\nError text:\n{2}\n"
4257
            </summary>
4258
        </member>
4259
        <member name="T:Microsoft.Scripting.Error">
4260
            <summary>
4261
               Strongly-typed and parameterized exception factory.
4262
            </summary>
4263
            <summary>
4264
               Strongly-typed and parameterized exception factory.
4265
            </summary>
4266
        </member>
4267
        <member name="M:Microsoft.Scripting.Error.COMObjectDoesNotSupportEvents">
4268
            <summary>
4269
            ArgumentException with message like "COM object does not support events."
4270
            </summary>
4271
        </member>
4272
        <member name="M:Microsoft.Scripting.Error.COMObjectDoesNotSupportSourceInterface">
4273
            <summary>
4274
            ArgumentException with message like "COM object does not support specified source interface."
4275
            </summary>
4276
        </member>
4277
        <member name="M:Microsoft.Scripting.Error.SetComObjectDataFailed">
4278
            <summary>
4279
            InvalidOperationException with message like "Marshal.SetComObjectData failed."
4280
            </summary>
4281
        </member>
4282
        <member name="M:Microsoft.Scripting.Error.MethodShouldNotBeCalled">
4283
            <summary>
4284
            InvalidOperationException with message like "This method exists only to keep the compiler happy."
4285
            </summary>
4286
        </member>
4287
        <member name="M:Microsoft.Scripting.Error.UnexpectedVarEnum(System.Object)">
4288
            <summary>
4289
            InvalidOperationException with message like "Unexpected VarEnum {0}."
4290
            </summary>
4291
        </member>
4292
        <member name="M:Microsoft.Scripting.Error.DispBadParamCount(System.Object)">
4293
            <summary>
4294
            System.Reflection.TargetParameterCountException with message like "Error while invoking {0}."
4295
            </summary>
4296
        </member>
4297
        <member name="M:Microsoft.Scripting.Error.DispMemberNotFound(System.Object)">
4298
            <summary>
4299
            MissingMemberException with message like "Error while invoking {0}."
4300
            </summary>
4301
        </member>
4302
        <member name="M:Microsoft.Scripting.Error.DispNoNamedArgs(System.Object)">
4303
            <summary>
4304
            ArgumentException with message like "Error while invoking {0}. Named arguments are not supported."
4305
            </summary>
4306
        </member>
4307
        <member name="M:Microsoft.Scripting.Error.DispOverflow(System.Object)">
4308
            <summary>
4309
            OverflowException with message like "Error while invoking {0}."
4310
            </summary>
4311
        </member>
4312
        <member name="M:Microsoft.Scripting.Error.DispTypeMismatch(System.Object,System.Object)">
4313
            <summary>
4314
            ArgumentException with message like "Could not convert argument {0} for call to {1}."
4315
            </summary>
4316
        </member>
4317
        <member name="M:Microsoft.Scripting.Error.DispParamNotOptional(System.Object)">
4318
            <summary>
4319
            ArgumentException with message like "Error while invoking {0}. A required parameter was omitted."
4320
            </summary>
4321
        </member>
4322
        <member name="M:Microsoft.Scripting.Error.CannotRetrieveTypeInformation">
4323
            <summary>
4324
            InvalidOperationException with message like "ResolveComReference.CannotRetrieveTypeInformation."
4325
            </summary>
4326
        </member>
4327
        <member name="M:Microsoft.Scripting.Error.GetIDsOfNamesInvalid(System.Object)">
4328
            <summary>
4329
            ArgumentException with message like "IDispatch::GetIDsOfNames behaved unexpectedly for {0}."
4330
            </summary>
4331
        </member>
4332
        <member name="M:Microsoft.Scripting.Error.UnsupportedEnumType">
4333
            <summary>
4334
            InvalidOperationException with message like "Attempting to wrap an unsupported enum type."
4335
            </summary>
4336
        </member>
4337
        <member name="M:Microsoft.Scripting.Error.UnsupportedHandlerType">
4338
            <summary>
4339
            InvalidOperationException with message like "Attempting to pass an event handler of an unsupported type."
4340
            </summary>
4341
        </member>
4342
        <member name="M:Microsoft.Scripting.Error.CouldNotGetDispId(System.Object,System.Object)">
4343
            <summary>
4344
            MissingMemberException with message like "Could not get dispatch ID for {0} (error: {1})."
4345
            </summary>
4346
        </member>
4347
        <member name="M:Microsoft.Scripting.Error.AmbiguousConversion(System.Object,System.Object)">
4348
            <summary>
4349
            System.Reflection.AmbiguousMatchException with message like "There are valid conversions from {0} to {1}."
4350
            </summary>
4351
        </member>
4352
        <member name="M:Microsoft.Scripting.Error.VariantGetAccessorNYI(System.Object)">
4353
            <summary>
4354
            NotImplementedException with message like "Variant.GetAccessor cannot handle {0}."
4355
            </summary>
4356
        </member>
4357
        <member name="M:Microsoft.Scripting.Error.MustHaveCodeOrTarget">
4358
            <summary>
4359
            ArgumentException with message like "Either code or target must be specified."
4360
            </summary>
4361
        </member>
4362
        <member name="M:Microsoft.Scripting.Error.TypeParameterIsNotDelegate(System.Object)">
4363
            <summary>
4364
            InvalidOperationException with message like "Type parameter is {0}. Expected a delegate."
4365
            </summary>
4366
        </member>
4367
        <member name="M:Microsoft.Scripting.Error.InvalidCast(System.Object,System.Object)">
4368
            <summary>
4369
            InvalidOperationException with message like "Cannot cast from type '{0}' to type '{1}"
4370
            </summary>
4371
        </member>
4372
        <member name="M:Microsoft.Scripting.Error.UnknownMemberType(System.Object)">
4373
            <summary>
4374
            InvalidOperationException with message like "unknown member type: '{0}'. "
4375
            </summary>
4376
        </member>
4377
        <member name="M:Microsoft.Scripting.Error.FirstArgumentMustBeCallSite">
4378
            <summary>
4379
            InvalidOperationException with message like "RuleBuilder can only be used with delegates whose first argument is CallSite."
4380
            </summary>
4381
        </member>
4382
        <member name="M:Microsoft.Scripting.Error.NoInstanceForCall">
4383
            <summary>
4384
            InvalidOperationException with message like "no instance for call."
4385
            </summary>
4386
        </member>
4387
        <member name="M:Microsoft.Scripting.Error.MissingTest">
4388
            <summary>
4389
            InvalidOperationException with message like "Missing Test."
4390
            </summary>
4391
        </member>
4392
        <member name="M:Microsoft.Scripting.Error.MissingTarget">
4393
            <summary>
4394
            InvalidOperationException with message like "Missing Target."
4395
            </summary>
4396
        </member>
4397
        <member name="M:Microsoft.Scripting.Error.NonGenericWithGenericGroup(System.Object)">
4398
            <summary>
4399
            TypeLoadException with message like "The operation requires a non-generic type for {0}, but this represents generic types only"
4400
            </summary>
4401
        </member>
4402
        <member name="M:Microsoft.Scripting.Error.InvalidOperation(System.Object)">
4403
            <summary>
4404
            ArgumentException with message like "Invalid operation: '{0}'"
4405
            </summary>
4406
        </member>
4407
        <member name="M:Microsoft.Scripting.Error.FinallyAlreadyDefined">
4408
            <summary>
4409
            InvalidOperationException with message like "Finally already defined."
4410
            </summary>
4411
        </member>
4412
        <member name="M:Microsoft.Scripting.Error.CannotHaveFaultAndFinally">
4413
            <summary>
4414
            InvalidOperationException with message like "Can not have fault and finally."
4415
            </summary>
4416
        </member>
4417
        <member name="M:Microsoft.Scripting.Error.FaultAlreadyDefined">
4418
            <summary>
4419
            InvalidOperationException with message like "Fault already defined."
4420
            </summary>
4421
        </member>
4422
        <member name="M:Microsoft.Scripting.Error.CantCreateDefaultTypeFor(System.Object)">
4423
            <summary>
4424
            ArgumentException with message like "Cannot create default value for type {0}."
4425
            </summary>
4426
        </member>
4427
        <member name="M:Microsoft.Scripting.Error.UnhandledConvert(System.Object)">
4428
            <summary>
4429
            ArgumentException with message like "Unhandled convert: {0}"
4430
            </summary>
4431
        </member>
4432
        <member name="M:Microsoft.Scripting.Error.NoCallableMethods(System.Object,System.Object)">
4433
            <summary>
4434
            InvalidOperationException with message like "{0}.{1} has no publiclly visible method."
4435
            </summary>
4436
        </member>
4437
        <member name="M:Microsoft.Scripting.Error.GlobalsMustBeUnique">
4438
            <summary>
4439
            ArgumentException with message like "Global/top-level local variable names must be unique."
4440
            </summary>
4441
        </member>
4442
        <member name="M:Microsoft.Scripting.Error.GenNonSerializableBinder">
4443
            <summary>
4444
            ArgumentException with message like "Generating code from non-serializable CallSiteBinder."
4445
            </summary>
4446
        </member>
4447
        <member name="M:Microsoft.Scripting.Error.InvalidPath">
4448
            <summary>
4449
            ArgumentException with message like "pecified path is invalid."
4450
            </summary>
4451
        </member>
4452
        <member name="M:Microsoft.Scripting.Error.DictionaryNotHashable">
4453
            <summary>
4454
            ArgumentTypeException with message like "Dictionaries are not hashable."
4455
            </summary>
4456
        </member>
4457
        <member name="M:Microsoft.Scripting.Error.LanguageRegistered">
4458
            <summary>
4459
            InvalidOperationException with message like "language already registered."
4460
            </summary>
4461
        </member>
4462
        <member name="M:Microsoft.Scripting.Error.MethodOrOperatorNotImplemented">
4463
            <summary>
4464
            NotImplementedException with message like "The method or operation is not implemented."
4465
            </summary>
4466
        </member>
4467
        <member name="M:Microsoft.Scripting.Error.NoException">
4468
            <summary>
4469
            InvalidOperationException with message like "No exception."
4470
            </summary>
4471
        </member>
4472
        <member name="M:Microsoft.Scripting.Error.ExtensionMustBePublic(System.Object)">
4473
            <summary>
4474
            ArgumentException with message like "Extension type {0} must be public."
4475
            </summary>
4476
        </member>
4477
        <member name="M:Microsoft.Scripting.Error.AlreadyInitialized">
4478
            <summary>
4479
            InvalidOperationException with message like "Already initialized."
4480
            </summary>
4481
        </member>
4482
        <member name="M:Microsoft.Scripting.Error.MustReturnScopeExtension">
4483
            <summary>
4484
            InvalidImplementationException with message like "CreateScopeExtension must return a scope extension."
4485
            </summary>
4486
        </member>
4487
        <member name="M:Microsoft.Scripting.Error.InvalidParamNumForService">
4488
            <summary>
4489
            ArgumentException with message like "Invalid number of parameters for the service."
4490
            </summary>
4491
        </member>
4492
        <member name="M:Microsoft.Scripting.Error.InvalidArgumentType(System.Object,System.Object)">
4493
            <summary>
4494
            ArgumentException with message like "Invalid type of argument {0}; expecting {1}."
4495
            </summary>
4496
        </member>
4497
        <member name="M:Microsoft.Scripting.Error.CannotChangeNonCachingValue">
4498
            <summary>
4499
            ArgumentException with message like "Cannot change non-caching value."
4500
            </summary>
4501
        </member>
4502
        <member name="M:Microsoft.Scripting.Error.FieldReadonly(System.Object)">
4503
            <summary>
4504
            MissingMemberException with message like "Field {0} is read-only"
4505
            </summary>
4506
        </member>
4507
        <member name="M:Microsoft.Scripting.Error.PropertyReadonly(System.Object)">
4508
            <summary>
4509
            MissingMemberException with message like "Property {0} is read-only"
4510
            </summary>
4511
        </member>
4512
        <member name="M:Microsoft.Scripting.Error.UnexpectedEvent(System.Object,System.Object,System.Object,System.Object)">
4513
            <summary>
4514
            ArgumentException with message like "Expected event from {0}.{1}, got event from {2}.{3}."
4515
            </summary>
4516
        </member>
4517
        <member name="M:Microsoft.Scripting.Error.ExpectedBoundEvent(System.Object)">
4518
            <summary>
4519
            ArgumentTypeException with message like "expected bound event, got {0}."
4520
            </summary>
4521
        </member>
4522
        <member name="M:Microsoft.Scripting.Error.UnexpectedType(System.Object,System.Object)">
4523
            <summary>
4524
            ArgumentTypeException with message like "Expected type {0}, got {1}."
4525
            </summary>
4526
        </member>
4527
        <member name="M:Microsoft.Scripting.Error.MemberWriteOnly(System.Object)">
4528
            <summary>
4529
            MemberAccessException with message like "can only write to member {0}."
4530
            </summary>
4531
        </member>
4532
        <member name="M:Microsoft.Scripting.Error.NoCodeToCompile">
4533
            <summary>
4534
            InvalidOperationException with message like "No code to compile."
4535
            </summary>
4536
        </member>
4537
        <member name="M:Microsoft.Scripting.Error.InvalidStreamType(System.Object)">
4538
            <summary>
4539
            ArgumentException with message like "Invalid stream type: {0}."
4540
            </summary>
4541
        </member>
4542
        <member name="M:Microsoft.Scripting.Error.QueueEmpty">
4543
            <summary>
4544
            InvalidOperationException with message like "Queue empty."
4545
            </summary>
4546
        </member>
4547
        <member name="M:Microsoft.Scripting.Error.EnumerationNotStarted">
4548
            <summary>
4549
            InvalidOperationException with message like "Enumeration has not started. Call MoveNext."
4550
            </summary>
4551
        </member>
4552
        <member name="M:Microsoft.Scripting.Error.EnumerationFinished">
4553
            <summary>
4554
            InvalidOperationException with message like "Enumeration already finished."
4555
            </summary>
4556
        </member>
4557
        <member name="M:Microsoft.Scripting.Error.CantAddCasing(System.Object)">
4558
            <summary>
4559
            InvalidOperationException with message like "can't add another casing for identifier {0}"
4560
            </summary>
4561
        </member>
4562
        <member name="M:Microsoft.Scripting.Error.CantAddIdentifier(System.Object)">
4563
            <summary>
4564
            InvalidOperationException with message like "can't add new identifier {0}"
4565
            </summary>
4566
        </member>
4567
        <member name="M:Microsoft.Scripting.Error.InvalidOutputDir">
4568
            <summary>
4569
            ArgumentException with message like "Invalid output directory."
4570
            </summary>
4571
        </member>
4572
        <member name="M:Microsoft.Scripting.Error.InvalidAsmNameOrExtension">
4573
            <summary>
4574
            ArgumentException with message like "Invalid assembly name or file extension."
4575
            </summary>
4576
        </member>
4577
        <member name="M:Microsoft.Scripting.Error.CanotEmitConstant(System.Object,System.Object)">
4578
            <summary>
4579
            ArgumentException with message like "Cannot emit constant {0} ({1})"
4580
            </summary>
4581
        </member>
4582
        <member name="M:Microsoft.Scripting.Error.NoImplicitCast(System.Object,System.Object)">
4583
            <summary>
4584
            ArgumentException with message like "No implicit cast from {0} to {1}"
4585
            </summary>
4586
        </member>
4587
        <member name="M:Microsoft.Scripting.Error.NoExplicitCast(System.Object,System.Object)">
4588
            <summary>
4589
            ArgumentException with message like "No explicit cast from {0} to {1}"
4590
            </summary>
4591
        </member>
4592
        <member name="M:Microsoft.Scripting.Error.NameNotDefined(System.Object)">
4593
            <summary>
4594
            MissingMemberException with message like "name '{0}' not defined"
4595
            </summary>
4596
        </member>
4597
        <member name="M:Microsoft.Scripting.Error.NoDefaultValue">
4598
            <summary>
4599
            ArgumentException with message like "No default value for a given type."
4600
            </summary>
4601
        </member>
4602
        <member name="M:Microsoft.Scripting.Error.UnknownLanguageProviderType">
4603
            <summary>
4604
            ArgumentException with message like "Specified language provider type is not registered."
4605
            </summary>
4606
        </member>
4607
        <member name="M:Microsoft.Scripting.Error.CantReadProperty">
4608
            <summary>
4609
            InvalidOperationException with message like "can't read from property"
4610
            </summary>
4611
        </member>
4612
        <member name="M:Microsoft.Scripting.Error.CantWriteProperty">
4613
            <summary>
4614
            InvalidOperationException with message like "can't write to property"
4615
            </summary>
4616
        </member>
4617
        <member name="M:Microsoft.Scripting.Error.IllegalNew_GenericParams(System.Object)">
4618
            <summary>
4619
            ArgumentException with message like "Cannot create instance of {0} because it contains generic parameters"
4620
            </summary>
4621
        </member>
4622
        <member name="M:Microsoft.Scripting.Error.VerificationException(System.Object,System.Object,System.Object)">
4623
            <summary>
4624
            System.Security.VerificationException with message like "Non-verifiable assembly generated: {0}:\nAssembly preserved as {1}\nError text:\n{2}\n"
4625
            </summary>
4626
        </member>
4627
        <member name="T:Microsoft.Scripting.Debugging.CompilerServices.DebugLambdaInfo">
4628
            <summary>
4629
            Used by compilers to provide additional debug information about LambdaExpression to DebugContext
4630
            </summary>
4631
        </member>
4632
        <member name="T:Microsoft.Scripting.Debugging.CompilerServices.IDebugCompilerSupport">
4633
            <summary>
4634
            Implemented by compilers to allow the traceback engine to get additional information.
4635
            </summary>
4636
        </member>
4637
        <member name="T:Microsoft.Scripting.Debugging.CompilerServices.DebugContext">
4638
            <summary>
4639
            Provides services to compilers for instrumenting code with tracebacks.
4640
            </summary>
4641
        </member>
4642
        <member name="M:Microsoft.Scripting.Debugging.CompilerServices.DebugContext.CreateInstance">
4643
            <summary>
4644
            Creates a new instance of DebugContext
4645
            </summary>
4646
        </member>
4647
        <member name="M:Microsoft.Scripting.Debugging.CompilerServices.DebugContext.TransformLambda(System.Linq.Expressions.LambdaExpression,Microsoft.Scripting.Debugging.CompilerServices.DebugLambdaInfo)">
4648
            <summary>
4649
            Transforms a LambdaExpression to a debuggable LambdaExpression
4650
            </summary>
4651
        </member>
4652
        <member name="M:Microsoft.Scripting.Debugging.CompilerServices.DebugContext.TransformLambda(System.Linq.Expressions.LambdaExpression)">
4653
            <summary>
4654
            Transforms a LambdaExpression to a debuggable LambdaExpression
4655
            </summary>
4656
        </member>
4657
        <member name="M:Microsoft.Scripting.Debugging.CompilerServices.DebugContext.ResetSourceFile(System.String)">
4658
            <summary>
4659
            Resets a state associated with a source file that's maintained in the DebugContext
4660
            </summary>
4661
        </member>
4662
        <member name="P:Microsoft.Scripting.Debugging.CompilerServices.DebugContext.Threads">
4663
            <summary>
4664
            Threads
4665
            </summary>
4666
        </member>
4667
        <member name="P:Microsoft.Scripting.Debugging.CompilerServices.DebugContext.DebugCallback">
4668
            <summary>
4669
            Hook
4670
            </summary>
4671
        </member>
4672
        <member name="P:Microsoft.Scripting.Debugging.DebugFrame.Thread">
4673
            <summary>
4674
            Thread
4675
            </summary>
4676
        </member>
4677
        <member name="P:Microsoft.Scripting.Debugging.DebugFrame.StackDepth">
4678
            <summary>
4679
            FrameOrder
4680
            </summary>
4681
        </member>
4682
        <member name="P:Microsoft.Scripting.Debugging.DebugFrame.Variables">
4683
            <summary>
4684
            Variables
4685
            </summary>
4686
        </member>
4687
        <member name="P:Microsoft.Scripting.Debugging.DebugFrame.CurrentSequencePointIndex">
4688
            <summary>
4689
            CurrentSequencePointIndex
4690
            </summary>
4691
        </member>
4692
        <member name="M:Microsoft.Scripting.Debugging.DebugFrame.ReplaceLiftedLocals(System.Runtime.CompilerServices.IRuntimeVariables)">
4693
            <summary>
4694
            // This method is called from the generator to update the frame with generator's locals
4695
            </summary>
4696
        </member>
4697
        <member name="M:Microsoft.Scripting.Debugging.DebugFrame.RemapToGenerator(System.Int32)">
4698
            <summary>
4699
            Remaps the frame's state to use the generator for execution.
4700
            </summary>
4701
            <param name="version">Int32.MaxValue to map to latest version</param>
4702
        </member>
4703
        <member name="T:Microsoft.Scripting.Debugging.DebuggableLambdaBuilder">
4704
            <summary>
4705
            DebuggableLambdaBuilder is used to transform a DLR expression tree into a debuggable lambda expression.
4706
            </summary>
4707
        </member>
4708
        <member name="T:Microsoft.Scripting.Debugging.DebugGenerator`1">
4709
            <summary>
4710
            Used to wrap a lambda that was already a generator prior to transform.
4711
            </summary>
4712
        </member>
4713
        <member name="T:Microsoft.Scripting.Debugging.DebugInfoRewriter">
4714
            <summary>
4715
            Used to rewrite expressions containing DebugInfoExpressions.
4716
            </summary>
4717
        </member>
4718
        <member name="T:Microsoft.Scripting.Debugging.DebugSourceSpan">
4719
            <summary>
4720
            Combines source file and span.  Also provides Contains and Intersects functionality.
4721
            </summary>
4722
        </member>
4723
        <member name="T:Microsoft.Scripting.Debugging.DebugRuntimeVariables">
4724
            <summary>
4725
            Implementation of IDebugRuntimeVariables, which wraps IRuntimeVariables + FunctionInfo/DebugMarker
4726
            </summary>
4727
        </member>
4728
        <member name="T:Microsoft.Scripting.Debugging.DefaultDebugThread">
4729
            <summary>
4730
            Default implementation of BaseDebugThread, which uses DLR's RuntimeVariablesExpression for lifting locals.
4731
            </summary>
4732
        </member>
4733
        <member name="T:Microsoft.Scripting.Debugging.DefaultDebugThreadFactory">
4734
            <summary>
4735
            Default implementation of IDebugThreadFactory, which uses DLR's RuntimeVariablesExpression for lifting locals.
4736
            </summary>
4737
        </member>
4738
        <member name="P:Microsoft.Scripting.Debugging.FunctionInfo.SequencePoints">
4739
            <summary>
4740
            SequencePoints
4741
            </summary>
4742
        </member>
4743
        <member name="P:Microsoft.Scripting.Debugging.FunctionInfo.Name">
4744
            <summary>
4745
            Gets the name.
4746
            </summary>
4747
        </member>
4748
        <member name="P:Microsoft.Scripting.Debugging.FunctionInfo.CustomPayload">
4749
            <summary>
4750
            Gets the custom payload.
4751
            </summary>
4752
        </member>
4753
        <member name="M:Microsoft.Scripting.Debugging.FunctionInfo.GetTraceLocations">
4754
            <summary>
4755
            GetTraceLocations
4756
            </summary>
4757
            <returns></returns>
4758
        </member>
4759
        <member name="M:Microsoft.Scripting.Debugging.IDebugCallback.OnDebugEvent(Microsoft.Scripting.Debugging.TraceEventKind,Microsoft.Scripting.Debugging.DebugThread,Microsoft.Scripting.Debugging.FunctionInfo,System.Int32,System.Int32,System.Object)">
4760
            <summary>
4761
            Callback that is fired by the traceback engine
4762
            </summary>
4763
        </member>
4764
        <member name="T:Microsoft.Scripting.Debugging.LambdaWalker">
4765
            <summary>
4766
            Used to extract locals information from expressions.
4767
            </summary>
4768
        </member>
4769
        <member name="T:Microsoft.Scripting.Debugging.ErrorStrings">
4770
            <summary>
4771
               Strongly-typed and parameterized string factory.
4772
            </summary>
4773
        </member>
4774
        <member name="T:Microsoft.Scripting.Debugging.IDebugRuntimeVariables">
4775
            <summary>
4776
            IDebugRuntimeVariables is used to wrap IRuntimeVariables and add properties for retrieving
4777
            FunctionInfo and DebugMarker from debuggable labmdas.
4778
            </summary>
4779
        </member>
4780
        <member name="T:Microsoft.Scripting.Debugging.IDebugThreadFactory">
4781
            <summary>
4782
            IDebugThreadFactory is used to abstract how frames and local variables are maintained at run/debug time.
4783
            </summary>
4784
        </member>
4785
        <member name="T:Microsoft.Scripting.Debugging.ScopedRuntimeVariables">
4786
            <summary>
4787
            Implements IRuntimeVariables in a way that preserves scoping within the lambda.
4788
            </summary>
4789
        </member>
4790
        <member name="T:Microsoft.Scripting.Debugging.TracePipeline">
4791
            <summary>
4792
            TraceSession.
4793
            
4794
            Basically holds a list of last encountered DebugFrame instances 
4795
            (one per running thread).
4796
            </summary>
4797
        </member>
4798
        <member name="T:Microsoft.Scripting.Debugging.VariableInfo">
4799
            <summary>
4800
            Used to provide information about locals/parameters at debug time.
4801
            </summary>
4802
        </member>
4803
        <member name="F:Microsoft.Scripting.Debugging.VariableInfo._localIndex">
4804
            <summary>
4805
            Index within byref variables list or within strongbox variables list.
4806
            </summary>
4807
        </member>
4808
        <member name="F:Microsoft.Scripting.Debugging.VariableInfo._globalIndex">
4809
            <summary>
4810
            Index within the combined list.
4811
            </summary>
4812
        </member>
4813
        <member name="P:Microsoft.Scripting.Debugging.VariableInfo.VariableType">
4814
            <summary>
4815
            Gets the variable type.
4816
            </summary>
4817
        </member>
4818
        <member name="P:Microsoft.Scripting.Debugging.VariableInfo.Name">
4819
            <summary>
4820
            Gets the name.
4821
            </summary>
4822
        </member>
4823
        <member name="P:Microsoft.Scripting.Debugging.VariableInfo.IsParameter">
4824
            <summary>
4825
            Gets or sets a value indicating whether it is a parameter.
4826
            </summary>
4827
        </member>
4828
        <member name="T:Microsoft.Scripting.DebugOptions">
4829
            <summary>
4830
            This class holds onto internal debugging options used in this assembly. 
4831
            These options can be set via environment variables DLR_{option-name}.
4832
            Boolean options map "true" to true and other values to false.
4833
            
4834
            These options are for internal debugging only, and should not be
4835
            exposed through any public APIs.
4836
            </summary>
4837
        </member>
4838
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.IsConstructor(System.Reflection.MethodBase)">
4839
            <summary>
4840
            True if the MethodBase is method which is going to construct an object
4841
            </summary>
4842
        </member>
4843
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.GetType(System.Object)">
4844
            <summary>
4845
            Returns the System.Type for any object, including null.  The type of null
4846
            is represented by None.Type and all other objects just return the 
4847
            result of Object.GetType
4848
            </summary>
4849
        </member>
4850
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.GetTypes(System.Object[])">
4851
            <summary>
4852
            Simply returns a Type[] from calling GetType on each element of args.
4853
            </summary>
4854
        </member>
4855
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.TypesEqual(System.Collections.IList,System.Int32,System.Type[])">
4856
            <summary>
4857
            EMITTED
4858
            Used by default method binder to check types of splatted arguments.
4859
            </summary>
4860
        </member>
4861
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.TryGetCallableMethod(System.Type,System.Reflection.MethodInfo)">
4862
            <summary>
4863
            Given a MethodInfo which may be declared on a non-public type this attempts to
4864
            return a MethodInfo which will dispatch to the original MethodInfo but is declared
4865
            on a public type.
4866
            
4867
            Returns the original method if the method if a public version cannot be found.
4868
            </summary>
4869
        </member>
4870
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.FilterNonVisibleMembers(System.Type,System.Collections.Generic.IEnumerable{System.Reflection.MemberInfo})">
4871
            <summary>
4872
            Non-public types can have public members that we find when calling type.GetMember(...).  This
4873
            filters out the non-visible members by attempting to resolve them to the correct visible type.
4874
            
4875
            If no correct visible type can be found then the member is not visible and we won't call it.
4876
            </summary>
4877
        </member>
4878
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.MemberEquals(System.Reflection.MemberInfo,System.Reflection.MemberInfo)">
4879
            <summary>
4880
            Sees if two MemberInfos point to the same underlying construct in IL.  This
4881
            ignores the ReflectedType property which exists on MemberInfos which
4882
            causes direct comparisons to be false even if they are the same member.
4883
            </summary>
4884
        </member>
4885
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.GetTryConvertReturnValue(System.Type)">
4886
            <summary>
4887
            Returns a value which indicates failure when a OldConvertToAction of ImplicitTry or
4888
            ExplicitTry.
4889
            </summary>
4890
        </member>
4891
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.LightCompile(System.Linq.Expressions.LambdaExpression)">
4892
            <summary>
4893
            Creates an interpreted delegate for the lambda.
4894
            </summary>
4895
            <param name="lambda">The lambda to compile.</param>
4896
            <returns>A delegate which can interpret the lambda.</returns>
4897
        </member>
4898
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.LightCompile(System.Linq.Expressions.LambdaExpression,System.Int32)">
4899
            <summary>
4900
            Creates an interpreted delegate for the lambda.
4901
            </summary>
4902
            <param name="lambda">The lambda to compile.</param>
4903
            <param name="compilationThreshold">The number of iterations before the interpreter starts compiling</param>
4904
            <returns>A delegate which can interpret the lambda.</returns>
4905
        </member>
4906
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.LightCompile``1(System.Linq.Expressions.Expression{``0})">
4907
            <summary>
4908
            Creates an interpreted delegate for the lambda.
4909
            </summary>
4910
            <typeparam name="T">The lambda's delegate type.</typeparam>
4911
            <param name="lambda">The lambda to compile.</param>
4912
            <returns>A delegate which can interpret the lambda.</returns>
4913
        </member>
4914
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.LightCompile``1(System.Linq.Expressions.Expression{``0},System.Int32)">
4915
            <summary>
4916
            Creates an interpreted delegate for the lambda.
4917
            </summary>
4918
            <param name="lambda">The lambda to compile.</param>
4919
            <param name="compilationThreshold">The number of iterations before the interpreter starts compiling</param>
4920
            <returns>A delegate which can interpret the lambda.</returns>
4921
        </member>
4922
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.CompileToMethod(System.Linq.Expressions.LambdaExpression,System.Reflection.Emit.MethodBuilder,System.Boolean)">
4923
            <summary>
4924
            Compiles the lambda into a method definition.
4925
            </summary>
4926
            <param name="lambda">the lambda to compile</param>
4927
            <param name="method">A <see cref="T:System.Reflection.Emit.MethodBuilder"/> which will be used to hold the lambda's IL.</param>
4928
            <param name="emitDebugSymbols">A parameter that indicates if debugging information should be emitted to a PDB symbol store.</param>
4929
        </member>
4930
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.Compile``1(System.Linq.Expressions.Expression{``0},System.Boolean)">
4931
            <summary>
4932
            Compiles the LambdaExpression.
4933
            
4934
            If the lambda is compiled with emitDebugSymbols, it will be
4935
            generated into a TypeBuilder. Otherwise, this method is the same as
4936
            calling LambdaExpression.Compile()
4937
            
4938
            This is a workaround for a CLR limitiation: DynamicMethods cannot
4939
            have debugging information.
4940
            </summary>
4941
            <param name="lambda">the lambda to compile</param>
4942
            <param name="emitDebugSymbols">true to generate a debuggable method, false otherwise</param>
4943
            <returns>the compiled delegate</returns>
4944
        </member>
4945
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.CompileToMethod``1(System.Linq.Expressions.Expression{``0},System.Runtime.CompilerServices.DebugInfoGenerator,System.Boolean)">
4946
            <summary>
4947
            Compiles the LambdaExpression, emitting it into a new type, and
4948
            optionally making it debuggable.
4949
            
4950
            This is a workaround for a CLR limitiation: DynamicMethods cannot
4951
            have debugging information.
4952
            </summary>
4953
            <param name="lambda">the lambda to compile</param>
4954
            <param name="debugInfoGenerator">Debugging information generator used by the compiler to mark sequence points and annotate local variables.</param>
4955
            <param name="emitDebugSymbols">True if debug symbols (PDBs) are emitted by the <paramref name="debugInfoGenerator"/>.</param>
4956
            <returns>the compiled delegate</returns>
4957
        </member>
4958
        <member name="T:Microsoft.Scripting.Generation.CompilerHelpers.DebuggableCodeRewriter">
4959
            <summary>
4960
            Removes all live objects and places them in static fields of a type.
4961
            </summary>
4962
        </member>
4963
        <member name="M:Microsoft.Scripting.Generation.CompilerHelpers.Reduce(System.Linq.Expressions.DynamicExpression)">
4964
            <summary>
4965
            Reduces the provided DynamicExpression into site.Target(site, *args).
4966
            </summary>
4967
        </member>
4968
        <member name="M:Microsoft.Scripting.Generation.ConstantCheck.Check(System.Linq.Expressions.Expression,System.Object)">
4969
            <summary>
4970
            Tests to see if the expression is a constant with the given value.
4971
            </summary>
4972
            <param name="expression">The expression to examine</param>
4973
            <param name="value">The constant value to check for.</param>
4974
            <returns>true/false</returns>
4975
        </member>
4976
        <member name="M:Microsoft.Scripting.Generation.ConstantCheck.IsConstant(System.Linq.Expressions.Expression,System.Object)">
4977
            <summary>
4978
            Tests to see if the expression is a constant with the given value.
4979
            </summary>
4980
            <param name="e">The expression to examine</param>
4981
            <param name="value">The constant value to check for.</param>
4982
            <returns>true/false</returns>
4983
        </member>
4984
        <member name="T:Microsoft.Scripting.Generation.FieldBuilderExpression">
4985
            <summary>
4986
            Provides a simple expression which enables embedding FieldBuilder's
4987
            in an AST before the type is complete.
4988
            </summary>
4989
        </member>
4990
        <member name="M:Microsoft.Scripting.Generation.ILGen.BeginCatchBlock(System.Type)">
4991
            <summary>
4992
            Begins a catch block.
4993
            </summary>
4994
        </member>
4995
        <member name="M:Microsoft.Scripting.Generation.ILGen.BeginExceptFilterBlock">
4996
            <summary>
4997
            Begins an exception block for a filtered exception.
4998
            </summary>
4999
        </member>
5000
        <member name="M:Microsoft.Scripting.Generation.ILGen.BeginExceptionBlock">
5001
            <summary>
5002
            Begins an exception block for a non-filtered exception.
5003
            </summary>
5004
            <returns></returns>
5005
        </member>
5006
        <member name="M:Microsoft.Scripting.Generation.ILGen.BeginFaultBlock">
5007
            <summary>
5008
            Begins an exception fault block
5009
            </summary>
5010
        </member>
5011
        <member name="M:Microsoft.Scripting.Generation.ILGen.BeginFinallyBlock">
5012
            <summary>
5013
            Begins a finally block
5014
            </summary>
5015
        </member>
5016
        <member name="M:Microsoft.Scripting.Generation.ILGen.EndExceptionBlock">
5017
            <summary>
5018
            Ends an exception block.
5019
            </summary>
5020
        </member>
5021
        <member name="M:Microsoft.Scripting.Generation.ILGen.BeginScope">
5022
            <summary>
5023
            Begins a lexical scope.
5024
            </summary>
5025
        </member>
5026
        <member name="M:Microsoft.Scripting.Generation.ILGen.EndScope">
5027
            <summary>
5028
            Ends a lexical scope.
5029
            </summary>
5030
        </member>
5031
        <member name="M:Microsoft.Scripting.Generation.ILGen.DeclareLocal(System.Type)">
5032
            <summary>
5033
            Declares a local variable of the specified type.
5034
            </summary>
5035
        </member>
5036
        <member name="M:Microsoft.Scripting.Generation.ILGen.DeclareLocal(System.Type,System.Boolean)">
5037
            <summary>
5038
            Declares a local variable of the specified type, optionally
5039
            pinning the object referred to by the variable.
5040
            </summary>
5041
        </member>
5042
        <member name="M:Microsoft.Scripting.Generation.ILGen.DefineLabel">
5043
            <summary>
5044
            Declares a new label.
5045
            </summary>
5046
        </member>
5047
        <member name="M:Microsoft.Scripting.Generation.ILGen.MarkLabel(System.Reflection.Emit.Label)">
5048
            <summary>
5049
            Marks the label at the current position.
5050
            </summary>
5051
        </member>
5052
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode)">
5053
            <summary>
5054
            Emits an instruction.
5055
            </summary>
5056
        </member>
5057
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Byte)">
5058
            <summary>
5059
            Emits an instruction with a byte argument.
5060
            </summary>
5061
        </member>
5062
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Reflection.ConstructorInfo)">
5063
            <summary>
5064
            Emits an instruction with the metadata token for the specified contructor.
5065
            </summary>
5066
        </member>
5067
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Double)">
5068
            <summary>
5069
            Emits an instruction with a double argument.
5070
            </summary>
5071
        </member>
5072
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">
5073
            <summary>
5074
            Emits an instruction with the metadata token for the specified field.
5075
            </summary>
5076
        </member>
5077
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Single)">
5078
            <summary>
5079
            Emits an instruction with a float argument.
5080
            </summary>
5081
        </member>
5082
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Int32)">
5083
            <summary>
5084
            Emits an instruction with an int argument.
5085
            </summary>
5086
        </member>
5087
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">
5088
            <summary>
5089
            Emits an instruction with a label argument.
5090
            </summary>
5091
        </member>
5092
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label[])">
5093
            <summary>
5094
            Emits an instruction with multiple target labels (switch).
5095
            </summary>
5096
        </member>
5097
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder)">
5098
            <summary>
5099
            Emits an instruction with a reference to a local variable.
5100
            </summary>
5101
        </member>
5102
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Int64)">
5103
            <summary>
5104
            Emits an instruction with a long argument.
5105
            </summary>
5106
        </member>
5107
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">
5108
            <summary>
5109
            Emits an instruction with the metadata token for a specified method.
5110
            </summary>
5111
        </member>
5112
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.SByte)">
5113
            <summary>
5114
            Emits an instruction with a signed byte argument.
5115
            </summary>
5116
        </member>
5117
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Int16)">
5118
            <summary>
5119
            Emits an instruction with a short argument.
5120
            </summary>
5121
        </member>
5122
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.SignatureHelper)">
5123
            <summary>
5124
            Emits an instruction with a signature token.
5125
            </summary>
5126
        </member>
5127
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.String)">
5128
            <summary>
5129
            Emits an instruction with a string argument.
5130
            </summary>
5131
        </member>
5132
        <member name="M:Microsoft.Scripting.Generation.ILGen.Emit(System.Reflection.Emit.OpCode,System.Type)">
5133
            <summary>
5134
            Emits an instruction with the metadata token for a specified type argument.
5135
            </summary>
5136
        </member>
5137
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">
5138
            <summary>
5139
            Emits a call or a virtual call to the varargs method.
5140
            </summary>
5141
        </member>
5142
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitCalli(System.Reflection.Emit.OpCode,System.Runtime.InteropServices.CallingConvention,System.Type,System.Type[])">
5143
            <summary>
5144
            Emits an unmanaged indirect call instruction.
5145
            </summary>
5146
        </member>
5147
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitCalli(System.Reflection.Emit.OpCode,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[])">
5148
            <summary>
5149
            Emits a managed indirect call instruction.
5150
            </summary>
5151
        </member>
5152
        <member name="M:Microsoft.Scripting.Generation.ILGen.MarkSequencePoint(System.Diagnostics.SymbolStore.ISymbolDocumentWriter,System.Int32,System.Int32,System.Int32,System.Int32)">
5153
            <summary>
5154
            Marks a sequence point.
5155
            </summary>
5156
        </member>
5157
        <member name="M:Microsoft.Scripting.Generation.ILGen.UsingNamespace(System.String)">
5158
            <summary>
5159
            Specifies the namespace to be used in evaluating locals and watches for the
5160
                current active lexical scope.
5161
            </summary>
5162
        </member>
5163
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitLoadValueIndirect(System.Type)">
5164
            <summary>
5165
            Emits a Ldind* instruction for the appropriate type
5166
            </summary>
5167
        </member>
5168
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitStoreValueIndirect(System.Type)">
5169
            <summary>
5170
            Emits a Stind* instruction for the appropriate type.
5171
            </summary>
5172
        </member>
5173
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitStoreElement(System.Type)">
5174
            <summary>
5175
            Emits a Stelem* instruction for the appropriate type.
5176
            </summary>
5177
        </member>
5178
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitBoxing(System.Type)">
5179
            <summary>
5180
            Boxes the value of the stack. No-op for reference types. Void is
5181
            converted to a null reference. For almost all value types this
5182
            method will box them in the standard way. Int32 and Boolean are
5183
            handled with optimized conversions that reuse the same object for
5184
            small values. For Int32 this is purely a performance optimization.
5185
            For Boolean this is use to ensure that True and False are always
5186
            the same objects.
5187
            </summary>
5188
        </member>
5189
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitArray``1(System.Collections.Generic.IList{``0})">
5190
            <summary>
5191
            Emits an array of constant values provided in the given list.
5192
            The array is strongly typed.
5193
            </summary>
5194
        </member>
5195
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitArray(System.Type,System.Int32,Microsoft.Scripting.Generation.EmitArrayHelper)">
5196
            <summary>
5197
            Emits an array of values of count size.  The items are emitted via the callback
5198
            which is provided with the current item index to emit.
5199
            </summary>
5200
        </member>
5201
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitArray(System.Type)">
5202
            <summary>
5203
            Emits an array construction code.  
5204
            The code assumes that bounds for all dimensions
5205
            are already emitted.
5206
            </summary>
5207
        </member>
5208
        <member name="M:Microsoft.Scripting.Generation.ILGen.EmitDefault(System.Type)">
5209
            <summary>
5210
            Emits default(T)
5211
            Semantics match C# compiler behavior
5212
            </summary>
5213
        </member>
5214
        <member name="T:Microsoft.Scripting.Generation.KeyedQueue`2">
5215
            <summary>
5216
            A simple dictionary of queues, keyed off a particular type
5217
            This is useful for storing free lists of variables
5218
            </summary>
5219
        </member>
5220
        <member name="T:Microsoft.Scripting.Generation.MethodSignatureInfo">
5221
            <summary>
5222
            Helper class to remove methods w/ identical signatures.  Used for GetDefaultMembers
5223
            which returns members from all types in the hierarchy.
5224
            </summary>
5225
        </member>
5226
        <member name="P:Microsoft.Scripting.Generation.Snippets.SnippetsDirectory">
5227
            <summary>
5228
            Directory where snippet assembly will be saved if SaveSnippets is set.
5229
            </summary>
5230
        </member>
5231
        <member name="P:Microsoft.Scripting.Generation.Snippets.SaveSnippets">
5232
            <summary>
5233
            Save snippets to an assembly (see also SnippetsDirectory, SnippetsFileName).
5234
            </summary>
5235
        </member>
5236
        <member name="T:Microsoft.Scripting.Generation.ToDiskRewriter">
5237
            <summary>
5238
            Serializes constants and dynamic sites so the code can be saved to disk
5239
            </summary>
5240
        </member>
5241
        <member name="P:Microsoft.Scripting.Generation.TypeGen.TypeInitializer">
5242
            <summary>
5243
            Gets the Compiler associated with the Type Initializer (cctor) creating it if necessary.
5244
            </summary>
5245
        </member>
5246
        <member name="T:Microsoft.Scripting.Hosting.Shell.CommandLine">
5247
            <summary>
5248
            Command line hosting service.
5249
            </summary>
5250
        </member>
5251
        <member name="P:Microsoft.Scripting.Hosting.Shell.CommandLine.Scope">
5252
            <summary>
5253
            Scope is not remotable, and this only works in the same AppDomain.
5254
            </summary>
5255
        </member>
5256
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.Run(Microsoft.Scripting.Hosting.ScriptEngine,Microsoft.Scripting.Hosting.Shell.IConsole,Microsoft.Scripting.Hosting.Shell.ConsoleOptions)">
5257
            <summary>
5258
            Executes the comand line - depending upon the options provided we will
5259
            either run a single file, a single command, or enter the interactive loop.
5260
            </summary>
5261
        </member>
5262
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.Run">
5263
            <summary>
5264
            Runs the command line.  Languages can override this to provide custom behavior other than:
5265
                1. Running a single command
5266
                2. Running a file
5267
                3. Entering the interactive console loop.
5268
            </summary>
5269
            <returns></returns>
5270
        </member>
5271
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.RunFile(Microsoft.Scripting.Hosting.ScriptSource)">
5272
            <summary>
5273
            Runs the specified filename
5274
            </summary>
5275
        </member>
5276
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.RunInteractive">
5277
            <summary>
5278
            Starts the interactive loop.  Performs any initialization necessary before
5279
            starting the loop and then calls RunInteractiveLoop to start the loop.
5280
            
5281
            Returns the exit code when the interactive loop is completed.
5282
            </summary>
5283
        </member>
5284
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.RunInteractiveLoop">
5285
            <summary>
5286
            Runs the interactive loop.  Repeatedly parse and run interactive actions
5287
            until an exit code is received.  If any exceptions are unhandled displays
5288
            them to the console
5289
            </summary>
5290
        </member>
5291
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.TryInteractiveAction">
5292
            <summary>
5293
            Attempts to run a single interaction and handle any language-specific
5294
            exceptions.  Base classes can override this and call the base implementation
5295
            surrounded with their own exception handling.
5296
            
5297
            Returns null if successful and execution should continue, or an exit code.
5298
            </summary>
5299
        </member>
5300
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.RunOneInteraction">
5301
            <summary>
5302
            Parses a single interactive command or a set of statements and executes it.  
5303
            
5304
            Returns null if successful and execution should continue, or the appropiate exit code.
5305
            
5306
            We check if the code read is an interactive command or statements is by checking for NewLine
5307
            If the code contains NewLine, it's a set of statements (most probably from SendToConsole)
5308
            If the code does not contain a NewLine, it's an interactive command typed by the user at the prompt
5309
            </summary>
5310
        </member>
5311
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.TreatAsBlankLine(System.String,System.Int32)">
5312
            <summary>
5313
            Private helper function to see if we should treat the current input as a blank link.
5314
            
5315
            We do this if we only have auto-indent text.
5316
            </summary>
5317
        </member>
5318
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.ReadStatement(System.Boolean@)">
5319
            <summary>
5320
            Read a statement, which can potentially be a multiple-line statement suite (like a class declaration).
5321
            </summary>
5322
            <param name="continueInteraction">Should the console session continue, or did the user indicate 
5323
            that it should be terminated?</param>
5324
            <returns>Expression to evaluate. null for empty input</returns>
5325
        </member>
5326
        <member name="M:Microsoft.Scripting.Hosting.Shell.CommandLine.GetNextAutoIndentSize(System.String)">
5327
            <summary>
5328
            Gets the next level for auto-indentation
5329
            </summary>
5330
        </member>
5331
        <member name="T:Microsoft.Scripting.Hosting.Shell.ConsoleHost">
5332
            <summary>
5333
            Core functionality to implement an interactive console. This should be derived for concrete implementations
5334
            </summary>
5335
        </member>
5336
        <member name="P:Microsoft.Scripting.Hosting.Shell.ConsoleHost.ExeName">
5337
            <summary>
5338
            Console Host entry-point .exe name.
5339
            </summary>
5340
        </member>
5341
        <member name="M:Microsoft.Scripting.Hosting.Shell.ConsoleHost.Terminate(System.Int32)">
5342
            <summary>
5343
            Request (from another thread) the console REPL loop to terminate
5344
            </summary>
5345
            <param name="exitCode">The caller can specify the exitCode corresponding to the event triggering
5346
            the termination. This will be returned from CommandLine.Run</param>
5347
        </member>
5348
        <member name="M:Microsoft.Scripting.Hosting.Shell.ConsoleHost.Run(System.String[])">
5349
            <summary>
5350
            To be called from entry point.
5351
            </summary>
5352
        </member>
5353
        <member name="M:Microsoft.Scripting.Hosting.Shell.ConsoleHostOptionsParser.Parse(System.String[])">
5354
            <exception cref="T:Microsoft.Scripting.Hosting.Shell.InvalidOptionException"></exception>
5355
        </member>
5356
        <member name="M:Microsoft.Scripting.Hosting.Shell.ConsoleHostOptionsParser.ParseOption(System.String,System.String@,System.String@)">
5357
            <summary>
5358
            name == null means that the argument doesn't specify an option; the value contains the entire argument
5359
            name == "" means that the option name is empty (argument separator); the value is null then
5360
            </summary>
5361
        </member>
5362
        <member name="P:Microsoft.Scripting.Hosting.Shell.ConsoleOptions.Command">
5363
            <summary>
5364
            Literal script command given using -c option
5365
            </summary>
5366
        </member>
5367
        <member name="P:Microsoft.Scripting.Hosting.Shell.ConsoleOptions.FileName">
5368
            <summary>
5369
            Filename to execute passed on the command line options.
5370
            </summary>
5371
        </member>
5372
        <member name="P:Microsoft.Scripting.Hosting.Shell.ConsoleOptions.PrintVersion">
5373
            <summary>
5374
            Only print the version of the script interpreter and exit
5375
            </summary>
5376
        </member>
5377
        <member name="T:Microsoft.Scripting.Hosting.Shell.ICommandDispatcher">
5378
            <summary>
5379
            Used to dispatch a single interactive command. It can be used to control things like which Thread
5380
            the command is executed on, how long the command is allowed to execute, etc
5381
            </summary>
5382
        </member>
5383
        <member name="T:Microsoft.Scripting.Hosting.Shell.IConsole">
5384
            <summary>
5385
            Handles input and output for the console. It is comparable to System.IO.TextReader, 
5386
            System.IO.TextWriter, System.Console, etc
5387
            </summary>
5388
        </member>
5389
        <member name="M:Microsoft.Scripting.Hosting.Shell.IConsole.ReadLine(System.Int32)">
5390
            <summary>
5391
            Read a single line of interactive input, or a block of multi-line statements.
5392
            
5393
            An event-driven GUI console can implement this method by creating a thread that
5394
            blocks and waits for an event indicating that input is available
5395
            </summary>
5396
            <param name="autoIndentSize">The indentation level to be used for the current suite of a compound statement.
5397
            The console can ignore this argument if it does not want to support auto-indentation</param>
5398
            <returns>null if the input stream has been closed. A string with a command to execute otherwise.
5399
            It can be a multi-line string which should be processed as block of statements
5400
            </returns>
5401
        </member>
5402
        <member name="M:Microsoft.Scripting.Hosting.Shell.OptionsParser.Parse(System.String[],Microsoft.Scripting.Hosting.ScriptRuntimeSetup,Microsoft.Scripting.Hosting.LanguageSetup,Microsoft.Scripting.PlatformAdaptationLayer)">
5403
            <exception cref="T:Microsoft.Scripting.Hosting.Shell.InvalidOptionException">On error.</exception>
5404
        </member>
5405
        <member name="T:Microsoft.Scripting.Hosting.Shell.Remote.ConsoleRestartManager">
5406
             <summary>
5407
             Supports detecting the remote runtime being killed, and starting up a new one.
5408
             
5409
             Threading model:
5410
             
5411
             ConsoleRestartManager creates a separate thread on which to create and execute the consoles. 
5412
             There are usually atleast three threads involved:
5413
             
5414
             1. Main app thread: Instantiates ConsoleRestartManager and accesses its APIs. This thread has to stay 
5415
                responsive to user input and so the ConsoleRestartManager APIs cannot be long-running or blocking.
5416
                Since the remote runtime process can terminate asynchronously, the current RemoteConsoleHost can 
5417
                change at any time (if auto-restart is enabled). The app should typically not care which instance of 
5418
                RemoteConsoleHost is currently being used. The flowchart of this thread is:
5419
                    Create ConsoleRestartManager
5420
                    ConsoleRestartManager.Start
5421
                    Loop:
5422
                        Respond to user input | Send user input to console for execution | BreakExecution | RestartConsole | GetMemberNames
5423
                    ConsoleRestartManager.Terminate
5424
                TODO: Currently, BreakExecution and GetMemberNames are called by the main thread synchronously.
5425
                Since they execute code in the remote runtime, they could take arbitrarily long. We should change
5426
                this so that the main app thread can never be blocked indefinitely.
5427
            
5428
             2. Console thread: Dedicated thread for creating RemoteConsoleHosts and executing code (which could
5429
                take a long time or block indefinitely).
5430
                    Wait for ConsoleRestartManager.Start to be called
5431
                    Loop:
5432
                        Create RemoteConsoleHost
5433
                        Wait for signal for:
5434
                             Execute code | RestartConsole | Process.Exited
5435
            
5436
             3. CompletionPort async callbacks:
5437
                    Process.Exited | Process.OutputDataReceived | Process.ErrorDataReceived
5438
             
5439
             4. Finalizer thred
5440
                Some objects may have a Finalize method (which possibly calls Dispose). Not many (if any) types
5441
                should have a Finalize method.
5442
             
5443
             </summary>
5444
        </member>
5445
        <member name="F:Microsoft.Scripting.Hosting.Shell.Remote.ConsoleRestartManager._accessLock">
5446
            <summary>
5447
            Accessing _remoteConsoleHost from a thread other than console thread can result in race.
5448
            If _remoteConsoleHost is accessed while holding _accessLock, it is guaranteed to be
5449
            null or non-disposed.
5450
            </summary>
5451
        </member>
5452
        <member name="M:Microsoft.Scripting.Hosting.Shell.Remote.ConsoleRestartManager.#ctor(System.Boolean)">
5453
            <summary>
5454
            This is created on the "creating thread", and goes on standby. Start needs to be called for activation.
5455
            </summary>
5456
            <param name="exitOnNormalExit">A host might want one of two behaviors:
5457
            1. Keep the REPL loop alive indefinitely, even when a specific instance of the RemoteConsoleHost terminates normally
5458
            2. Close the REPL loop when an instance of the RemoteConsoleHost terminates normally, and restart the loop
5459
               only if the instance terminates abnormally.</param>
5460
        </member>
5461
        <member name="M:Microsoft.Scripting.Hosting.Shell.Remote.ConsoleRestartManager.Start">
5462
            <summary>
5463
            Needs to be called for activation.
5464
            </summary>
5465
        </member>
5466
        <member name="M:Microsoft.Scripting.Hosting.Shell.Remote.ConsoleRestartManager.Terminate">
5467
            <summary>
5468
            Request (from another thread) the console REPL loop to terminate
5469
            </summary>
5470
        </member>
5471
        <member name="T:Microsoft.Scripting.Hosting.Shell.Remote.RemoteCommandDispatcher">
5472
            <summary>
5473
            This allows the RemoteConsoleHost to abort a long-running operation. The RemoteConsoleHost itself
5474
            does not know which ThreadPool thread might be processing the remote call, and so it needs
5475
            cooperation from the remote runtime server.
5476
            </summary>
5477
        </member>
5478
        <member name="F:Microsoft.Scripting.Hosting.Shell.Remote.RemoteCommandDispatcher.OutputCompleteMarker">
5479
            <summary>
5480
            Since OnOutputDataReceived is sent async, it can arrive late. The remote console
5481
            cannot know if all output from the current command has been received. So
5482
            RemoteCommandDispatcher writes out a marker to indicate the end of the output
5483
            </summary>
5484
        </member>
5485
        <member name="M:Microsoft.Scripting.Hosting.Shell.Remote.RemoteCommandDispatcher.AbortCommand">
5486
            <summary>
5487
            Aborts the current active call to Execute by doing Thread.Abort
5488
            </summary>
5489
            <returns>true if a Thread.Abort was actually called. false if there is no active call to Execute</returns>
5490
        </member>
5491
        <member name="T:Microsoft.Scripting.Hosting.Shell.Remote.RemoteConsoleCommandLine">
5492
            <summary>
5493
            Customize the CommandLine for remote scenarios
5494
            </summary>
5495
        </member>
5496
        <member name="T:Microsoft.Scripting.Hosting.Shell.Remote.RemoteConsoleCommandLine.RemoteConsoleCommandDispatcher">
5497
            <summary>
5498
            CommandDispatcher to ensure synchronize output from the remote runtime
5499
            </summary>
5500
        </member>
5501
        <member name="T:Microsoft.Scripting.Hosting.Shell.Remote.RemoteConsoleHost">
5502
            <summary>
5503
            ConsoleHost where the ScriptRuntime is hosted in a separate process (referred to as the remote runtime server)
5504
            
5505
            The RemoteConsoleHost spawns the remote runtime server and specifies an IPC channel name to use to communicate
5506
            with each other. The remote runtime server creates and initializes a ScriptRuntime and a ScriptEngine, and publishes
5507
            it over the specified IPC channel at a well-known URI. Note that the RemoteConsoleHost cannot easily participate
5508
            in the initialization of the ScriptEngine as classes like LanguageContext are not remotable.
5509
            
5510
            The RemoteConsoleHost then starts the interactive loop and executes commands on the ScriptEngine over the remoting channel.
5511
            The RemoteConsoleHost listens to stdout of the remote runtime server and echos it locally to the user.
5512
            </summary>
5513
        </member>
5514
        <member name="E:Microsoft.Scripting.Hosting.Shell.Remote.RemoteConsoleHost.RemoteRuntimeExited">
5515
            <summary>
5516
            Called if the remote runtime process exits by itself. ie. without the remote console killing it.
5517
            </summary>
5518
        </member>
5519
        <member name="M:Microsoft.Scripting.Hosting.Shell.Remote.RemoteConsoleHost.CustomizeRemoteRuntimeStartInfo(System.Diagnostics.ProcessStartInfo)">
5520
            <summary>
5521
            Allows the console to customize the environment variables, working directory, etc.
5522
            </summary>
5523
            <param name="processInfo">At the least, processInfo.FileName should be initialized</param>
5524
        </member>
5525
        <member name="M:Microsoft.Scripting.Hosting.Shell.Remote.RemoteConsoleHost.AbortCommand">
5526
            <summary>
5527
            Aborts the current active call to Execute by doing Thread.Abort
5528
            </summary>
5529
            <returns>true if a Thread.Abort was actually called. false if there is no active call to Execute</returns>
5530
        </member>
5531
        <member name="T:Microsoft.Scripting.Hosting.Shell.Remote.RemoteRuntimeServer">
5532
            <summary>
5533
            The remote runtime server uses this class to publish an initialized ScriptEngine and ScriptRuntime 
5534
            over a remoting channel.
5535
            </summary>
5536
        </member>
5537
        <member name="M:Microsoft.Scripting.Hosting.Shell.Remote.RemoteRuntimeServer.StartServer(System.String,Microsoft.Scripting.Hosting.ScriptScope)">
5538
            <summary>
5539
            Publish objects so that the host can use it, and then block indefinitely (until the input stream is open).
5540
            
5541
            Note that we should publish only one object, and then have other objects be accessible from it. Publishing
5542
            multiple objects can cause problems if the client does a call like "remoteProxy1(remoteProxy2)" as remoting
5543
            will not be able to know if the server object for both the proxies is on the same server.
5544
            </summary>
5545
            <param name="remoteRuntimeChannelName">The IPC channel that the remote console expects to use to communicate with the ScriptEngine</param>
5546
            <param name="scope">A intialized ScriptScope that is ready to start processing script commands</param>
5547
        </member>
5548
        <member name="T:Microsoft.Scripting.Hosting.Shell.SuperConsole.History">
5549
            <summary>
5550
            Class managing the command history.
5551
            </summary>
5552
        </member>
5553
        <member name="T:Microsoft.Scripting.Hosting.Shell.SuperConsole.SuperConsoleOptions">
5554
            <summary>
5555
            List of available options
5556
            </summary>
5557
        </member>
5558
        <member name="T:Microsoft.Scripting.Hosting.Shell.SuperConsole.Cursor">
5559
            <summary>
5560
            Cursor position management
5561
            </summary>
5562
        </member>
5563
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole.Cursor._anchorTop">
5564
            <summary>
5565
            Beginning position of the cursor - top coordinate.
5566
            </summary>
5567
        </member>
5568
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole.Cursor._anchorLeft">
5569
            <summary>
5570
            Beginning position of the cursor - left coordinate.
5571
            </summary>
5572
        </member>
5573
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._input">
5574
            <summary>
5575
            The console input buffer.
5576
            </summary>
5577
        </member>
5578
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._current">
5579
            <summary>
5580
            Current position - index into the input buffer
5581
            </summary>
5582
        </member>
5583
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._autoIndentSize">
5584
            <summary>
5585
            The number of white-spaces displayed for the auto-indenation of the current line
5586
            </summary>
5587
        </member>
5588
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._rendered">
5589
            <summary>
5590
            Length of the output currently rendered on screen.
5591
            </summary>
5592
        </member>
5593
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._history">
5594
            <summary>
5595
            Command history
5596
            </summary>
5597
        </member>
5598
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._options">
5599
            <summary>
5600
            Tab options available in current context
5601
            </summary>
5602
        </member>
5603
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._cursor">
5604
            <summary>
5605
            Cursort anchor - position of cursor when the routine was called
5606
            </summary>
5607
        </member>
5608
        <member name="F:Microsoft.Scripting.Hosting.Shell.SuperConsole._commandLine">
5609
            <summary>
5610
            The command line that this console is attached to.
5611
            </summary>
5612
        </member>
5613
        <member name="M:Microsoft.Scripting.Hosting.Shell.SuperConsole.DisplayNextOption(System.ConsoleKeyInfo,System.Boolean)">
5614
            <summary>
5615
            Displays the next option in the option list,
5616
            or beeps if no options available for current input prefix.
5617
            If no input prefix, simply print tab.
5618
            </summary>
5619
            <param name="key"></param>
5620
            <param name="prefix"></param>
5621
        </member>
5622
        <member name="M:Microsoft.Scripting.Hosting.Shell.SuperConsole.OnEnter(System.Boolean)">
5623
            <summary>
5624
            Handle the enter key. Adds the current input (if not empty) to the history.
5625
            </summary>
5626
            <param name="inputChanged"></param>
5627
            <returns>The input string.</returns>
5628
        </member>
5629
        <member name="P:Microsoft.Scripting.Interpreter.CallInstruction.ArgumentCount">
5630
            <summary>
5631
            The number of arguments including "this" for instance methods.
5632
            </summary>
5633
        </member>
5634
        <member name="M:Microsoft.Scripting.Interpreter.CallInstruction.Create(System.Reflection.MethodInfo)">
5635
            <exception cref="T:System.Security.SecurityException">Instruction can't be created due to insufficient privileges.</exception>
5636
        </member>
5637
        <member name="M:Microsoft.Scripting.Interpreter.CallInstruction.Create(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[])">
5638
            <exception cref="T:System.Security.SecurityException">Instruction can't be created due to insufficient privileges.</exception>
5639
        </member>
5640
        <member name="M:Microsoft.Scripting.Interpreter.CallInstruction.TryGetParameterOrReturnType(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],System.Int32)">
5641
            <summary>
5642
            Gets the next type or null if no more types are available.
5643
            </summary>
5644
        </member>
5645
        <member name="M:Microsoft.Scripting.Interpreter.CallInstruction.SlowCreate(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[])">
5646
            <summary>
5647
            Uses reflection to create new instance of the appropriate ReflectedCaller
5648
            </summary>
5649
        </member>
5650
        <member name="M:Microsoft.Scripting.Interpreter.CallInstruction.FastCreate(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[])">
5651
            <summary>
5652
            Fast creation works if we have a known primitive types for the entire
5653
            method siganture.  If we have any non-primitive types then FastCreate
5654
            falls back to SlowCreate which works for all types.
5655
            
5656
            Fast creation is fast because it avoids using reflection (MakeGenericType
5657
            and Activator.CreateInstance) to create the types.  It does this through
5658
            calling a series of generic methods picking up each strong type of the
5659
            signature along the way.  When it runs out of types it news up the 
5660
            appropriate CallInstruction with the strong-types that have been built up.
5661
            
5662
            One relaxation is that for return types which are non-primitive types
5663
            we can fallback to object due to relaxed delegates.
5664
            </summary>
5665
        </member>
5666
        <member name="T:Microsoft.Scripting.Interpreter.GotoInstruction">
5667
            <summary>
5668
            This instruction implements a goto expression that can jump out of any expression. 
5669
            It pops values (arguments) from the evaluation stack that the expression tree nodes in between 
5670
            the goto expression and the target label node pushed and not consumed yet. 
5671
            A goto expression can jump into a node that evaluates arguments only if it carries 
5672
            a value and jumps right after the first argument (the carried value will be used as the first argument). 
5673
            Goto can jump into an arbitrary child of a BlockExpression since the block doesn’t accumulate values 
5674
            on evaluation stack as its child expressions are being evaluated.
5675
            
5676
            Goto needs to execute any finally blocks on the way to the target label.
5677
            <example>
5678
            { 
5679
                f(1, 2, try { g(3, 4, try { goto L } finally { ... }, 6) } finally { ... }, 7, 8)
5680
                L: ... 
5681
            }
5682
            </example>
5683
            The goto expression here jumps to label L while having 4 items on evaluation stack (1, 2, 3 and 4). 
5684
            The jump needs to execute both finally blocks, the first one on stack level 4 the 
5685
            second one on stack level 2. So, it needs to jump the first finally block, pop 2 items from the stack, 
5686
            run second finally block and pop another 2 items from the stack and set instruction pointer to label L.
5687
            
5688
            Goto also needs to rethrow ThreadAbortException iff it jumps out of a catch handler and 
5689
            the current thread is in "abort requested" state.
5690
            </summary>
5691
        </member>
5692
        <member name="T:Microsoft.Scripting.Interpreter.EnterFinallyInstruction">
5693
            <summary>
5694
            The first instruction of finally block.
5695
            </summary>
5696
        </member>
5697
        <member name="T:Microsoft.Scripting.Interpreter.LeaveFinallyInstruction">
5698
            <summary>
5699
            The last instruction of finally block.
5700
            </summary>
5701
        </member>
5702
        <member name="T:Microsoft.Scripting.Interpreter.LeaveExceptionHandlerInstruction">
5703
            <summary>
5704
            The last instruction of a catch exception handler.
5705
            </summary>
5706
        </member>
5707
        <member name="T:Microsoft.Scripting.Interpreter.LeaveFaultInstruction">
5708
            <summary>
5709
            The last instruction of a fault exception handler.
5710
            </summary>
5711
        </member>
5712
        <member name="T:Microsoft.Scripting.Interpreter.DynamicSplatInstruction">
5713
            <summary>
5714
            Implements dynamic call site with many arguments. Wraps the arguments into <see cref="T:Microsoft.Scripting.Runtime.ArgumentArray"/>.
5715
            </summary>
5716
        </member>
5717
        <member name="M:Microsoft.Scripting.Interpreter.InstructionList.SetDebugCookie(System.Object)">
5718
            <summary>
5719
            Attaches a cookie to the last emitted instruction.
5720
            </summary>
5721
        </member>
5722
        <member name="M:Microsoft.Scripting.Interpreter.InstructionList.CreateDynamicInstruction(System.Type,System.Runtime.CompilerServices.CallSiteBinder)">
5723
            <exception cref="T:System.Security.SecurityException">Instruction can't be created due to insufficient privileges.</exception>
5724
        </member>
5725
        <member name="T:Microsoft.Scripting.Interpreter.LabelInfo">
5726
            <summary>
5727
            Contains compiler state corresponding to a LabelTarget
5728
            See also LabelScopeInfo.
5729
            </summary>
5730
        </member>
5731
        <member name="P:Microsoft.Scripting.Interpreter.LabelScopeInfo.CanJumpInto">
5732
            <summary>
5733
            Returns true if we can jump into this node
5734
            </summary>
5735
        </member>
5736
        <member name="M:Microsoft.Scripting.Interpreter.InterpretedFrame.GroupStackFrames(System.Collections.Generic.IEnumerable{System.Diagnostics.StackFrame})">
5737
            <summary>
5738
            A single interpreted frame might be represented by multiple subsequent Interpreter.Run CLR frames.
5739
            This method filters out the duplicate CLR frames.
5740
            </summary>
5741
        </member>
5742
        <member name="T:Microsoft.Scripting.Interpreter.Interpreter">
5743
            <summary>
5744
            A simple forth-style stack machine for executing Expression trees
5745
            without the need to compile to IL and then invoke the JIT.  This trades
5746
            off much faster compilation time for a slower execution performance.
5747
            For code that is only run a small number of times this can be a 
5748
            sweet spot.
5749
            
5750
            The core loop in the interpreter is the RunInstructions method.
5751
            </summary>
5752
        </member>
5753
        <member name="M:Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame)">
5754
            <summary>
5755
            Runs instructions within the given frame.
5756
            </summary>
5757
            <remarks>
5758
            Interpreted stack frames are linked via Parent reference so that each CLR frame of this method corresponds 
5759
            to an interpreted stack frame in the chain. It is therefore possible to combine CLR stack traces with 
5760
            interpreted stack traces by aligning interpreted frames to the frames of this method.
5761
            Each group of subsequent frames of Run method corresponds to a single interpreted frame.
5762
            </remarks>
5763
        </member>
5764
        <member name="T:Microsoft.Scripting.Interpreter.LightDelegateCreator">
5765
            <summary>
5766
            Manages creation of interpreted delegates. These delegates will get
5767
            compiled if they are executed often enough.
5768
            </summary>
5769
        </member>
5770
        <member name="P:Microsoft.Scripting.Interpreter.LightDelegateCreator.SameDelegateType">
5771
            <summary>
5772
            true if the compiled delegate has the same type as the lambda;
5773
            false if the type was changed for interpretation.
5774
            </summary>
5775
        </member>
5776
        <member name="M:Microsoft.Scripting.Interpreter.LightDelegateCreator.CreateCompiledDelegate(System.Runtime.CompilerServices.StrongBox{System.Object}[])">
5777
            <summary>
5778
            Used by LightLambda to get the compiled delegate.
5779
            </summary>
5780
        </member>
5781
        <member name="M:Microsoft.Scripting.Interpreter.LightDelegateCreator.Compile(System.Object)">
5782
            <summary>
5783
            Create a compiled delegate for the LightLambda, and saves it so
5784
            future calls to Run will execute the compiled code instead of
5785
            interpreting.
5786
            </summary>
5787
        </member>
5788
        <member name="E:Microsoft.Scripting.Interpreter.LightLambda.Compile">
5789
            <summary>
5790
            Provides notification that the LightLambda has been compiled.
5791
            </summary>
5792
        </member>
5793
        <member name="T:Microsoft.Scripting.Interpreter.LightLambdaClosureVisitor">
5794
            <summary>
5795
            Visits a LambdaExpression, replacing the constants with direct accesses
5796
            to their StrongBox fields. This is very similar to what
5797
            ExpressionQuoter does for LambdaCompiler.
5798
            
5799
            Also inserts debug information tracking similar to what the interpreter
5800
            would do.
5801
            </summary>
5802
        </member>
5803
        <member name="F:Microsoft.Scripting.Interpreter.LightLambdaClosureVisitor._closureVars">
5804
            <summary>
5805
            Local variable mapping.
5806
            </summary>
5807
        </member>
5808
        <member name="F:Microsoft.Scripting.Interpreter.LightLambdaClosureVisitor._closureArray">
5809
            <summary>
5810
            The variable that holds onto the StrongBox{object}[] closure from
5811
            the interpreter
5812
            </summary>
5813
        </member>
5814
        <member name="F:Microsoft.Scripting.Interpreter.LightLambdaClosureVisitor._shadowedVars">
5815
            <summary>
5816
            A stack of variables that are defined in nested scopes. We search
5817
            this first when resolving a variable in case a nested scope shadows
5818
            one of our variable instances.
5819
            </summary>
5820
        </member>
5821
        <member name="M:Microsoft.Scripting.Interpreter.LightLambdaClosureVisitor.BindLambda(System.Linq.Expressions.LambdaExpression,System.Collections.Generic.Dictionary{System.Linq.Expressions.ParameterExpression,Microsoft.Scripting.Interpreter.LocalVariable})">
5822
            <summary>
5823
            Walks the lambda and produces a higher order function, which can be
5824
            used to bind the lambda to a closure array from the interpreter.
5825
            </summary>
5826
            <param name="lambda">The lambda to bind.</param>
5827
            <param name="closureVariables">Variables which are being accessed defined in the outer scope.</param>
5828
            <returns>A delegate that can be called to produce a delegate bound to the passed in closure array.</returns>
5829
        </member>
5830
        <member name="T:Microsoft.Scripting.Interpreter.LightLambdaClosureVisitor.MergedRuntimeVariables">
5831
            <summary>
5832
            Provides a list of variables, supporing read/write of the values
5833
            </summary>
5834
        </member>
5835
        <member name="M:Microsoft.Scripting.Interpreter.LocalVariables.CopyLocals">
5836
            <summary>
5837
            Gets a copy of the local variables which are defined in the current scope.
5838
            </summary>
5839
            <returns></returns>
5840
        </member>
5841
        <member name="M:Microsoft.Scripting.Interpreter.LocalVariables.ContainsVariable(System.Linq.Expressions.ParameterExpression)">
5842
            <summary>
5843
            Checks to see if the given variable is defined within the current local scope.
5844
            </summary>
5845
        </member>
5846
        <member name="P:Microsoft.Scripting.Interpreter.LocalVariables.ClosureVariables">
5847
            <summary>
5848
            Gets the variables which are defined in an outer scope and available within the current scope.
5849
            </summary>
5850
        </member>
5851
        <member name="T:Microsoft.Scripting.Interpreter.LocalVariables.VariableScope">
5852
            <summary>
5853
            Tracks where a variable is defined and what range of instructions it's used in
5854
            </summary>
5855
        </member>
5856
        <member name="T:Microsoft.Scripting.MultiRuntimeAwareAttribute">
5857
            <summary>
5858
            marks a field, class, or struct as being safe to have statics which can be accessed
5859
            from multiple runtimes.
5860
            
5861
            Static fields which are not read-only or marked with this attribute will be flagged 
5862
            by a test which looks for state being shared between runtimes.  Before applying this
5863
            attribute you should ensure that it is safe to share the state.  This is typically
5864
            state which is lazy initialized or state which is caching values which are identical
5865
            in all runtimes and are immutable.
5866
            </summary>
5867
        </member>
5868
        <member name="M:Microsoft.Scripting.MutableTuple.SetNestedValue(System.Int32,System.Int32,System.Object)">
5869
            <summary>
5870
            Sets the value at the given index for a tuple of the given size.  This set supports
5871
            walking through nested tuples to get the correct final index.
5872
            </summary>
5873
        </member>
5874
        <member name="M:Microsoft.Scripting.MutableTuple.GetNestedValue(System.Int32,System.Int32)">
5875
            <summary>
5876
            Gets the value at the given index for a tuple of the given size.  This get
5877
            supports walking through nested tuples to get the correct final index.
5878
            </summary>
5879
        </member>
5880
        <member name="M:Microsoft.Scripting.MutableTuple.GetTupleType(System.Int32)">
5881
            <summary>
5882
            Gets the unbound generic Tuple type which has at lease size slots or null if a large enough tuple is not available.
5883
            </summary>
5884
        </member>
5885
        <member name="M:Microsoft.Scripting.MutableTuple.MakeTupleType(System.Type[])">
5886
            <summary>
5887
            Creates a generic tuple with the specified types.  
5888
            
5889
            If the number of slots fits within the maximum tuple size then we simply 
5890
            create a single tuple.  If it's greater then we create nested tuples 
5891
            (e.g. a Tuple`2 which contains a Tuple`128 and a Tuple`8 if we had a size of 136).
5892
            </summary>
5893
        </member>
5894
        <member name="M:Microsoft.Scripting.MutableTuple.GetSize(System.Type)">
5895
            <summary>
5896
            Gets the number of usable slots in the provided Tuple type including slots available in nested tuples.
5897
            </summary>
5898
        </member>
5899
        <member name="M:Microsoft.Scripting.MutableTuple.MakeTuple(System.Type,System.Object[])">
5900
            <summary>
5901
            Creates a new instance of tupleType with the specified args.  If the tuple is a nested
5902
            tuple the values are added in their nested forms.
5903
            </summary>
5904
        </member>
5905
        <member name="M:Microsoft.Scripting.MutableTuple.GetTupleValues(Microsoft.Scripting.MutableTuple)">
5906
            <summary>
5907
            Gets the values from a tuple including unpacking nested values.
5908
            </summary>
5909
        </member>
5910
        <member name="M:Microsoft.Scripting.MutableTuple.GetAccessPath(System.Type,System.Int32)">
5911
            <summary>
5912
            Gets the series of properties that needs to be accessed to access a logical item in a potentially nested tuple.
5913
            </summary>
5914
        </member>
5915
        <member name="M:Microsoft.Scripting.MutableTuple.GetAccessProperties(System.Type,System.Int32,System.Int32)">
5916
            <summary>
5917
            Gets the series of properties that needs to be accessed to access a logical item in a potentially nested tuple.
5918
            </summary>
5919
        </member>
5920
        <member name="M:Microsoft.Scripting.MutableTuple.Create(System.Linq.Expressions.Expression[])">
5921
            <summary>
5922
            Provides an expression for creating a tuple with the specified values.
5923
            </summary>
5924
        </member>
5925
        <member name="T:Microsoft.Scripting.PerfTrack">
5926
            <summary>
5927
            This class is useful for quickly collecting performance counts for expensive
5928
            operations.  Usually this means operations involving either reflection or
5929
            code gen.  Long-term we need to see if this can be plugged better into the
5930
            standard performance counter architecture.
5931
            </summary>
5932
        </member>
5933
        <member name="F:Microsoft.Scripting.PerfTrack.Categories.Temporary">
5934
            <summary>
5935
            temporary categories for quick investigation, use a custom key if you
5936
            need to track multiple items, and if you want to keep it then create 
5937
            a new Categories entry and rename all your temporary entries.
5938
            </summary>
5939
        </member>
5940
        <member name="T:Microsoft.Scripting.ICustomScriptCodeData">
5941
            <summary>
5942
            Gets custom data to be serialized when saving script codes to disk.
5943
            </summary>
5944
        </member>
5945
        <member name="T:Microsoft.Scripting.SavableScriptCode">
5946
            <summary>
5947
            ScriptCode is an instance of compiled code that is bound to a specific LanguageContext
5948
            but not a specific ScriptScope. The code can be re-executed multiple times in different
5949
            scopes. Hosting API counterpart for this class is <c>CompiledCode</c>.
5950
            </summary>
5951
        </member>
5952
        <member name="M:Microsoft.Scripting.SavableScriptCode.SaveToAssembly(System.String,Microsoft.Scripting.SavableScriptCode[])">
5953
            <summary>
5954
            This takes an assembly name including extension and saves the provided ScriptCode objects into the assembly.  
5955
            
5956
            The provided script codes can constitute code from multiple languages.  The assemblyName can be either a fully qualified 
5957
            or a relative path.  The DLR will simply save the assembly to the desired location.  The assembly is created by the DLR and 
5958
            if a file already exists than an exception is raised.  
5959
            
5960
            The DLR determines the internal format of the ScriptCode and the DLR can feel free to rev this as appropriate.  
5961
            </summary>
5962
        </member>
5963
        <member name="M:Microsoft.Scripting.SavableScriptCode.LoadFromAssembly(Microsoft.Scripting.Runtime.ScriptDomainManager,System.Reflection.Assembly)">
5964
            <summary>
5965
            This will take an assembly object which the user has loaded and return a new set of ScriptCode’s which have 
5966
            been loaded into the provided ScriptDomainManager.  
5967
            
5968
            If the language associated with the ScriptCode’s has not already been loaded the DLR will load the 
5969
            LanguageContext into the ScriptDomainManager based upon the saved LanguageContext type.  
5970
            
5971
            If the LanguageContext or the version of the DLR the language was compiled against is unavailable a 
5972
            TypeLoadException will be raised unless policy has been applied by the administrator to redirect bindings.
5973
            </summary>
5974
        </member>
5975
        <member name="T:Microsoft.Scripting.FileStreamContentProvider">
5976
            <summary>
5977
            Provides a StreamContentProvider for a stream of content backed by a file on disk.
5978
            </summary>
5979
        </member>
5980
        <member name="M:Microsoft.Scripting.Utils.ArrayUtils.ToArray``1(System.Collections.Generic.ICollection{``0})">
5981
            <summary>
5982
            Converts a generic ICollection of T into an array of T.  
5983
            
5984
            If the collection is already an  array of T the original collection is returned.
5985
            </summary>
5986
        </member>
5987
        <member name="M:Microsoft.Scripting.Utils.ArrayUtils.ToArray``2(System.Collections.Generic.ICollection{``0},System.Func{``0,``1})">
5988
            <summary>
5989
            Converts a generic ICollection of T into an array of R using a given conversion.  
5990
            
5991
            If the collection is already an array of R the original collection is returned.
5992
            </summary>
5993
        </member>
5994
        <member name="T:Microsoft.Scripting.Utils.CacheDict`2">
5995
            <summary>
5996
            Provides a dictionary-like object used for caches which holds onto a maximum
5997
            number of elements specified at construction time.
5998
            
5999
            This class is not thread safe.
6000
            </summary>
6001
        </member>
6002
        <member name="M:Microsoft.Scripting.Utils.CacheDict`2.#ctor(System.Int32)">
6003
            <summary>
6004
            Creates a dictionary-like object used for caches.
6005
            </summary>
6006
            <param name="maxSize">The maximum number of elements to store.</param>
6007
        </member>
6008
        <member name="M:Microsoft.Scripting.Utils.CacheDict`2.TryGetValue(`0,`1@)">
6009
            <summary>
6010
            Tries to get the value associated with 'key', returning true if it's found and
6011
            false if it's not present.
6012
            </summary>
6013
        </member>
6014
        <member name="M:Microsoft.Scripting.Utils.CacheDict`2.Add(`0,`1)">
6015
            <summary>
6016
            Adds a new element to the cache, replacing and moving it to the front if the
6017
            element is already present.
6018
            </summary>
6019
        </member>
6020
        <member name="P:Microsoft.Scripting.Utils.CacheDict`2.Item(`0)">
6021
            <summary>
6022
            Returns the value associated with the given key, or throws KeyNotFoundException
6023
            if the key is not present.
6024
            </summary>
6025
        </member>
6026
        <member name="T:Microsoft.Scripting.Utils.CheckedDictionaryEnumerator">
6027
            <summary>
6028
            Not all .NET enumerators throw exceptions if accessed in an invalid state. This type
6029
            can be used to throw exceptions from enumerators implemented in IronPython.
6030
            </summary>
6031
        </member>
6032
        <member name="M:Microsoft.Scripting.Utils.CollectionExtensions.ToReadOnly``1(System.Collections.Generic.IEnumerable{``0})">
6033
            <summary>
6034
            Wraps the provided enumerable into a ReadOnlyCollection{T}
6035
            
6036
            Copies all of the data into a new array, so the data can't be
6037
            changed after creation. The exception is if the enumerable is
6038
            already a ReadOnlyCollection{T}, in which case we just return it.
6039
            </summary>
6040
        </member>
6041
        <member name="T:Microsoft.Scripting.Utils.EnumerableWrapper">
6042
            <summary>
6043
            Allows wrapping of proxy types (like COM RCWs) to expose their IEnumerable functionality
6044
            which is supported after casting to IEnumerable, even though Reflection will not indicate 
6045
            IEnumerable as a supported interface
6046
            </summary>
6047
        </member>
6048
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresArrayIndex``1(System.Collections.Generic.IList{``0},System.Int32,System.String)">
6049
            <summary>
6050
            Requires the specified index to point inside the array.
6051
            </summary>
6052
            <exception cref="T:System.ArgumentNullException">Array is <c>null</c>.</exception>
6053
            <exception cref="T:System.ArgumentOutOfRangeException">Index is outside the array.</exception>
6054
        </member>
6055
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresArrayIndex(System.Int32,System.Int32,System.String)">
6056
            <summary>
6057
            Requires the specified index to point inside the array.
6058
            </summary>
6059
            <exception cref="T:System.ArgumentOutOfRangeException">Index is outside the array.</exception>
6060
        </member>
6061
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresArrayInsertIndex``1(System.Collections.Generic.IList{``0},System.Int32,System.String)">
6062
            <summary>
6063
            Requires the specified index to point inside the array or at the end
6064
            </summary>
6065
            <exception cref="T:System.ArgumentNullException">Array is <c>null</c>.</exception>
6066
            <exception cref="T:System.ArgumentOutOfRangeException">Index is outside the array.</exception>
6067
        </member>
6068
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresArrayInsertIndex(System.Int32,System.Int32,System.String)">
6069
            <summary>
6070
            Requires the specified index to point inside the array or at the end
6071
            </summary>
6072
            <exception cref="T:System.ArgumentNullException">Array is <c>null</c>.</exception>
6073
            <exception cref="T:System.ArgumentOutOfRangeException">Index is outside the array.</exception>
6074
        </member>
6075
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresArrayRange``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32,System.String,System.String)">
6076
            <summary>
6077
            Requires the range [offset, offset + count] to be a subset of [0, array.Count].
6078
            </summary>
6079
            <exception cref="T:System.ArgumentOutOfRangeException">Offset or count are out of range.</exception>
6080
        </member>
6081
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresArrayRange(System.Int32,System.Int32,System.Int32,System.String,System.String)">
6082
            <summary>
6083
            Requires the range [offset, offset + count] to be a subset of [0, array.Count].
6084
            </summary>
6085
            <exception cref="T:System.ArgumentOutOfRangeException">Offset or count are out of range.</exception>
6086
        </member>
6087
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresListRange(System.Collections.IList,System.Int32,System.Int32,System.String,System.String)">
6088
            <summary>
6089
            Requires the range [offset, offset + count] to be a subset of [0, array.Count].
6090
            </summary>
6091
            <exception cref="T:System.ArgumentNullException">Array is <c>null</c>.</exception>
6092
            <exception cref="T:System.ArgumentOutOfRangeException">Offset or count are out of range.</exception>
6093
        </member>
6094
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresArrayRange(System.String,System.Int32,System.Int32,System.String,System.String)">
6095
            <summary>
6096
            Requires the range [offset, offset + count] to be a subset of [0, array.Count].
6097
            </summary>
6098
            <exception cref="T:System.ArgumentNullException">String is <c>null</c>.</exception>
6099
            <exception cref="T:System.ArgumentOutOfRangeException">Offset or count are out of range.</exception>
6100
        </member>
6101
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresNotNullItems``1(System.Collections.Generic.IList{``0},System.String)">
6102
            <summary>
6103
            Requires the array and all its items to be non-null.
6104
            </summary>
6105
        </member>
6106
        <member name="M:Microsoft.Scripting.Utils.ContractUtils.RequiresNotNullItems``1(System.Collections.Generic.IEnumerable{``0},System.String)">
6107
            <summary>
6108
            Requires the enumerable collection and all its items to be non-null.
6109
            </summary>
6110
        </member>
6111
        <member name="T:Microsoft.Scripting.Utils.CopyOnWriteList`1">
6112
            <summary>
6113
            List optimized for few writes and multiple reads. It provides thread-safe read and write access. 
6114
            Iteration is not thread-safe by default, but GetCopyForRead allows for iteration 
6115
            without taking a lock.
6116
            </summary>
6117
        </member>
6118
        <member name="M:Microsoft.Scripting.Utils.CopyOnWriteList`1.GetCopyForRead">
6119
            <summary>
6120
            Gets a copy of the contents of the list. The copy will not change even if the original
6121
            CopyOnWriteList object is modified. This method should be used to iterate the list in
6122
            a thread-safe way if no lock is taken. Iterating on the original list is not guaranteed 
6123
            to be thread-safe.
6124
            </summary>
6125
            <returns>The returned copy should not be modified by the caller.</returns>
6126
        </member>
6127
        <member name="T:Microsoft.Scripting.Utils.DictionaryUnionEnumerator">
6128
            <summary>
6129
            Presents a flat enumerable view of multiple dictionaries
6130
            </summary>
6131
        </member>
6132
        <member name="M:Microsoft.Scripting.Utils.DynamicUtils.GetExpressions(System.Dynamic.DynamicMetaObject[])">
6133
            <summary>
6134
            Returns the list of expressions represented by the <see cref="T:System.Dynamic.DynamicMetaObject"/> instances.
6135
            </summary>
6136
            <param name="objects">An array of <see cref="T:System.Dynamic.DynamicMetaObject"/> instances to extract expressions from.</param>
6137
            <returns>The array of expressions.</returns>
6138
        </member>
6139
        <member name="M:Microsoft.Scripting.Utils.DynamicUtils.ObjectToMetaObject(System.Object,System.Linq.Expressions.Expression)">
6140
            <summary>
6141
            Creates an instance of <see cref="T:System.Dynamic.DynamicMetaObject"/> for a runtime value and the expression that represents it during the binding process.
6142
            </summary>
6143
            <param name="argValue">The runtime value to be represented by the <see cref="T:System.Dynamic.DynamicMetaObject"/>.</param>
6144
            <param name="parameterExpression">An expression to represent this <see cref="T:System.Dynamic.DynamicMetaObject"/> during the binding process.</param>
6145
            <returns>The new instance of <see cref="T:System.Dynamic.DynamicMetaObject"/>.</returns>
6146
        </member>
6147
        <member name="M:Microsoft.Scripting.Utils.DynamicUtils.LightBind``1(System.Dynamic.DynamicMetaObjectBinder,System.Object[],System.Int32)">
6148
            <summary>
6149
            Produces an interpreted binding using the given binder which falls over to a compiled
6150
            binding after hitCount tries.
6151
            
6152
            This method should be called whenever an interpreted binding is required.  Sometimes it will
6153
            return a compiled binding if a previous binding was produced and it's hit count was exhausted.
6154
            In this case the binder will not be called back for a new binding - the previous one will
6155
            be used.
6156
            </summary>
6157
            <typeparam name="T">The delegate type being used for the call site</typeparam>
6158
            <param name="binder">The binder used for the call site</param>
6159
            <param name="compilationThreshold">The number of calls before the binder should switch to a compiled mode.</param>
6160
            <param name="args">The arguments that are passed for the binding (as received in a BindDelegate call)</param>
6161
            <returns>A delegate which represents the interpreted binding.</returns>
6162
        </member>
6163
        <member name="T:Microsoft.Scripting.Utils.DynamicUtils.GenericInterpretedBinder`1.InterpretedRuleHitCheckExpression">
6164
            <summary>
6165
            Expression which reduces to the normal test but under the interpreter adds a count down
6166
            check which enables compiling when the count down is reached.
6167
            </summary>
6168
        </member>
6169
        <member name="T:Microsoft.Scripting.Utils.CachedBindingInfo">
6170
            <summary>
6171
            Base class for storing information about the binding that a specific rule is applicable for.
6172
            
6173
            We have a derived generic class but this class enables us to refer to it w/o having the
6174
            generic type information around.
6175
            
6176
            This class tracks both the count down to when we should compile.  When we compile we
6177
            take the Expression[T] that was used before and compile it.  While this is happening
6178
            we continue to allow the interpreted code to run.  When the compilation is complete we
6179
            store a thread static which tells us what binding failed and the current rule is no
6180
            longer functional.  Finally the language binder will call us again and we'll retrieve
6181
            and return the compiled overload.
6182
            </summary>
6183
        </member>
6184
        <member name="T:Microsoft.Scripting.Utils.HybridReferenceDictionary`2">
6185
            <summary>
6186
            A hybrid dictionary which compares based upon object identity.
6187
            </summary>
6188
        </member>
6189
        <member name="M:Microsoft.Scripting.Utils.IOUtils.SeekLine(System.IO.TextReader,System.Int32)">
6190
            <summary>
6191
            Seeks the first character of a specified line in the text stream.
6192
            </summary>
6193
            <param name="reader">The reader.</param>
6194
            <param name="line">Line number. The current position is assumed to be line #1.</param>
6195
            <returns>
6196
            Returns <c>true</c> if the line is found, <b>false</b> otherwise.
6197
            </returns>
6198
        </member>
6199
        <member name="M:Microsoft.Scripting.Utils.IOUtils.ReadTo(System.IO.TextReader,System.Char)">
6200
            <summary>
6201
            Reads characters to a string until end position or a terminator is reached. 
6202
            Doesn't include the terminator into the resulting string.
6203
            Returns <c>null</c>, if the reader is at the end position.
6204
            </summary>
6205
        </member>
6206
        <member name="M:Microsoft.Scripting.Utils.IOUtils.SeekTo(System.IO.TextReader,System.Char)">
6207
            <summary>
6208
            Reads characters until end position or a terminator is reached.
6209
            Returns <c>true</c> if the character has been found (the reader is positioned right behind the character), 
6210
            <c>false</c> otherwise.
6211
            </summary>
6212
        </member>
6213
        <member name="M:Microsoft.Scripting.Utils.MathUtils.FloorDivideUnchecked(System.Int32,System.Int32)">
6214
            <summary>
6215
            Calculates the quotient of two 32-bit signed integers rounded towards negative infinity.
6216
            </summary>
6217
            <param name="x">Dividend.</param>
6218
            <param name="y">Divisor.</param>
6219
            <returns>The quotient of the specified numbers rounded towards negative infinity, or <code>(int)Floor((double)x/(double)y)</code>.</returns>
6220
            <exception cref="T:System.DivideByZeroException"><paramref name="y"/> is 0.</exception>
6221
            <remarks>The caller must check for overflow (x = Int32.MinValue, y = -1)</remarks>
6222
        </member>
6223
        <member name="M:Microsoft.Scripting.Utils.MathUtils.FloorDivideUnchecked(System.Int64,System.Int64)">
6224
            <summary>
6225
            Calculates the quotient of two 64-bit signed integers rounded towards negative infinity.
6226
            </summary>
6227
            <param name="x">Dividend.</param>
6228
            <param name="y">Divisor.</param>
6229
            <returns>The quotient of the specified numbers rounded towards negative infinity, or <code>(int)Floor((double)x/(double)y)</code>.</returns>
6230
            <exception cref="T:System.DivideByZeroException"><paramref name="y"/> is 0.</exception>
6231
            <remarks>The caller must check for overflow (x = Int64.MinValue, y = -1)</remarks>
6232
        </member>
6233
        <member name="M:Microsoft.Scripting.Utils.MathUtils.FloorRemainder(System.Int32,System.Int32)">
6234
            <summary>
6235
            Calculates the remainder of floor division of two 32-bit signed integers.
6236
            </summary>
6237
            <param name="x">Dividend.</param>
6238
            <param name="y">Divisor.</param>
6239
            <returns>The remainder of of floor division of the specified numbers, or <code>x - (int)Floor((double)x/(double)y) * y</code>.</returns>
6240
            <exception cref="T:System.DivideByZeroException"><paramref name="y"/> is 0.</exception>
6241
        </member>
6242
        <member name="M:Microsoft.Scripting.Utils.MathUtils.FloorRemainder(System.Int64,System.Int64)">
6243
            <summary>
6244
            Calculates the remainder of floor division of two 32-bit signed integers.
6245
            </summary>
6246
            <param name="x">Dividend.</param>
6247
            <param name="y">Divisor.</param>
6248
            <returns>The remainder of of floor division of the specified numbers, or <code>x - (int)Floor((double)x/(double)y) * y</code>.</returns>
6249
            <exception cref="T:System.DivideByZeroException"><paramref name="y"/> is 0.</exception>
6250
        </member>
6251
        <member name="M:Microsoft.Scripting.Utils.MathUtils.RoundAwayFromZero(System.Double)">
6252
            <summary>
6253
            Behaves like Math.Round(value, MidpointRounding.AwayFromZero)
6254
            Needed because CoreCLR doesn't support this particular overload of Math.Round
6255
            </summary>
6256
        </member>
6257
        <member name="M:Microsoft.Scripting.Utils.MathUtils.RoundAwayFromZero(System.Double,System.Int32)">
6258
            <summary>
6259
            Behaves like Math.Round(value, precision, MidpointRounding.AwayFromZero)
6260
            However, it works correctly on negative precisions and cases where precision is
6261
            outside of the [-15, 15] range.
6262
            
6263
            (This function is also needed because CoreCLR lacks this overload.)
6264
            </summary>
6265
        </member>
6266
        <member name="M:Microsoft.Scripting.Utils.MathUtils.EvalPolynomial(System.Double,System.Double[])">
6267
            <summary>
6268
            Evaluates a polynomial in v0 where the coefficients are ordered in increasing degree
6269
            </summary>
6270
        </member>
6271
        <member name="M:Microsoft.Scripting.Utils.MathUtils.EvalPolynomial(System.Double,System.Double[],System.Boolean)">
6272
            <summary>
6273
            Evaluates a polynomial in v0 where the coefficients are ordered in increasing degree
6274
            if reverse is false, and increasing degree if reverse is true.
6275
            </summary>
6276
        </member>
6277
        <member name="M:Microsoft.Scripting.Utils.MathUtils.SinPi(System.Double)">
6278
            <summary>
6279
            A numerically precise version of sin(v0 * pi)
6280
            </summary>
6281
        </member>
6282
        <member name="M:Microsoft.Scripting.Utils.MathUtils.AbsSinPi(System.Double)">
6283
            <summary>
6284
            A numerically precise version of |sin(v0 * pi)|
6285
            </summary>
6286
        </member>
6287
        <member name="M:Microsoft.Scripting.Utils.MathUtils.GammaRationalFunc(System.Double)">
6288
            <summary>
6289
            Take the quotient of the 2 polynomials forming the Lanczos approximation
6290
            with N=13 and G=13.144565
6291
            </summary>
6292
        </member>
6293
        <member name="M:Microsoft.Scripting.Utils.MathUtils.PositiveGamma(System.Double)">
6294
            <summary>
6295
            Computes the Gamma function on positive values, using the Lanczos approximation.
6296
            Lanczos parameters are N=13 and G=13.144565.
6297
            </summary>
6298
        </member>
6299
        <member name="M:Microsoft.Scripting.Utils.MathUtils.PositiveLGamma(System.Double)">
6300
            <summary>
6301
            Computes the Log-Gamma function on positive values, using the Lanczos approximation.
6302
            Lanczos parameters are N=13 and G=13.144565.
6303
            </summary>
6304
        </member>
6305
        <member name="T:Microsoft.Scripting.Utils.Publisher`2">
6306
            <summary>
6307
            Thread safe dictionary that allows lazy-creation where readers will block for
6308
            the creation of the lazily created value.  Call GetOrCreateValue w/ a key
6309
            and a callback function.  If the value exists it is returned, if not the create
6310
            callback is called (w/o any locks held).  The create call back will only be called
6311
            once for each key.  
6312
            </summary>
6313
        </member>
6314
        <member name="T:Microsoft.Scripting.Utils.Publisher`2.PublishInfo`1">
6315
            <summary>
6316
            Helper class which stores the published value
6317
            </summary>
6318
        </member>
6319
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.UnwrapEnumValue(System.Object)">
6320
            <summary>
6321
            Converts a boxed enum value to the underlying integer value.
6322
            </summary>
6323
        </member>
6324
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.CreateDelegate(System.Reflection.MethodInfo,System.Type)">
6325
            <summary>
6326
            Creates an open delegate for the given (dynamic)method.
6327
            </summary>
6328
        </member>
6329
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.CreateDelegate(System.Reflection.MethodInfo,System.Type,System.Object)">
6330
            <summary>
6331
            Creates a closed delegate for the given (dynamic)method.
6332
            </summary>
6333
        </member>
6334
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.GetObjectCallSiteDelegateType(System.Int32)">
6335
            <summary>
6336
            Gets a Func of CallSite, object * paramCnt, object delegate type
6337
            that's suitable for use in a non-strongly typed call site.
6338
            </summary>
6339
        </member>
6340
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.IsMandatory(System.Reflection.ParameterInfo)">
6341
            <summary>
6342
            Returns <c>true</c> if the specified parameter is mandatory, i.e. is not optional and doesn't have a default value.
6343
            </summary>
6344
        </member>
6345
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.Ancestors(System.Type)">
6346
            <summary>
6347
            Yields all ancestors of the given type including the type itself.
6348
            Does not include implemented interfaces.
6349
            </summary>
6350
        </member>
6351
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.GetDeclaredInterfaces(System.Type)">
6352
            <summary>
6353
            Like Type.GetInterfaces, but only returns the interfaces implemented by this type
6354
            and not its parents.
6355
            </summary>
6356
        </member>
6357
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.GetVisibleExtensionMethodGroups(System.Reflection.Assembly,System.Boolean)">
6358
            <summary>
6359
            Enumerates extension methods in given assembly. Groups the methods by declaring namespace.
6360
            Uses a global cache if <paramref name="useCache"/> is true.
6361
            </summary>
6362
        </member>
6363
        <member name="M:Microsoft.Scripting.Utils.ReflectionUtils.BindGenericParameters(System.Type,System.Type,System.Func{System.Type,System.Type,System.Boolean})">
6364
            <summary>
6365
            Binds occurances of generic parameters in <paramref name="openType"/> against corresponding types in <paramref name="closedType"/>.
6366
            Invokes <paramref name="binder"/>(parameter, type) for each such binding.
6367
            Returns false if the <paramref name="openType"/> is structurally different from <paramref name="closedType"/> or if the binder returns false.
6368
            </summary>
6369
        </member>
6370
        <member name="M:Microsoft.Scripting.Utils.ExtensionMethodInfo.IsExtensionOf(System.Type)">
6371
            <summary>
6372
            Determines if a given type matches the type that the method extends. 
6373
            The match might be non-trivial if the extended type is an open generic type with constraints.
6374
            </summary>
6375
        </member>
6376
        <member name="M:Microsoft.Scripting.Utils.StringUtils.SplitWords(System.String,System.Boolean,System.Int32)">
6377
            <summary>
6378
            Splits text and optionally indents first lines - breaks along words, not characters.
6379
            </summary>
6380
        </member>
6381
        <member name="T:Microsoft.Scripting.Utils.SynchronizedDictionary`2">
6382
            <summary>
6383
            Dictionary[TKey, TValue] is not thread-safe in the face of concurrent reads and writes. SynchronizedDictionary
6384
            provides a thread-safe implementation. It holds onto a Dictionary[TKey, TValue] instead of inheriting from
6385
            it so that users who need to do manual synchronization can access the underlying Dictionary[TKey, TValue].
6386
            </summary>
6387
        </member>
6388
        <member name="P:Microsoft.Scripting.Utils.SynchronizedDictionary`2.UnderlyingDictionary">
6389
            <summary>
6390
            This returns the raw unsynchronized Dictionary[TKey, TValue]. Users are responsible for locking
6391
            on it before accessing it. Also, it should not be arbitrarily handed out to other code since deadlocks
6392
            can be caused if other code incorrectly locks on it.
6393
            </summary>
6394
        </member>
6395
        <member name="T:Microsoft.Scripting.Utils.ThreadLocal`1">
6396
            <summary>
6397
            Provides fast strongly typed thread local storage.  This is significantly faster than
6398
            Thread.GetData/SetData.
6399
            </summary>
6400
        </member>
6401
        <member name="M:Microsoft.Scripting.Utils.ThreadLocal`1.#ctor(System.Boolean)">
6402
            <summary>
6403
            True if the caller will guarantee that all cleanup happens as the thread
6404
            unwinds.
6405
            
6406
            This is typically used in a case where the thread local is surrounded by
6407
            a try/finally block.  The try block pushes some state, the finally block
6408
            restores the previous state.  Therefore when the thread exits the thread
6409
            local is back to it's original state.  This allows the ThreadLocal object
6410
            to not check the current owning thread on retrieval.
6411
            </summary>
6412
        </member>
6413
        <member name="P:Microsoft.Scripting.Utils.ThreadLocal`1.Value">
6414
            <summary>
6415
            Gets or sets the value for the current thread.
6416
            </summary>
6417
        </member>
6418
        <member name="M:Microsoft.Scripting.Utils.ThreadLocal`1.GetOrCreate(System.Func{`0})">
6419
            <summary>
6420
            Gets the current value if its not == null or calls the provided function
6421
            to create a new value.
6422
            </summary>
6423
        </member>
6424
        <member name="M:Microsoft.Scripting.Utils.ThreadLocal`1.Update(System.Func{`0,`0})">
6425
            <summary>
6426
            Calls the provided update function with the current value and
6427
            replaces the current value with the result of the function.
6428
            </summary>
6429
        </member>
6430
        <member name="M:Microsoft.Scripting.Utils.ThreadLocal`1.Update(`0)">
6431
            <summary>
6432
            Replaces the current value with a new one and returns the old value.
6433
            </summary>
6434
        </member>
6435
        <member name="M:Microsoft.Scripting.Utils.ThreadLocal`1.GetStorageInfo">
6436
            <summary>
6437
            Gets the StorageInfo for the current thread.
6438
            </summary>
6439
        </member>
6440
        <member name="M:Microsoft.Scripting.Utils.ThreadLocal`1.RetryOrCreateStorageInfo(Microsoft.Scripting.Utils.ThreadLocal{`0}.StorageInfo[])">
6441
            <summary>
6442
            Called when the fast path storage lookup fails. if we encountered the Empty storage 
6443
            during the initial fast check then spin until we hit non-empty storage and try the fast 
6444
            path again.
6445
            </summary>
6446
        </member>
6447
        <member name="M:Microsoft.Scripting.Utils.ThreadLocal`1.CreateStorageInfo">
6448
            <summary>
6449
            Creates the StorageInfo for the thread when one isn't already present.
6450
            </summary>
6451
        </member>
6452
        <member name="T:Microsoft.Scripting.Utils.ThreadLocal`1.StorageInfo">
6453
            <summary>
6454
            Helper class for storing the value.  We need to track if a ManagedThreadId
6455
            has been re-used so we also store the thread which owns the value.
6456
            </summary>
6457
        </member>
6458
        <member name="T:Microsoft.Scripting.Utils.TypeMemberCache`1">
6459
            <summary>
6460
            Caches type member lookup.
6461
            </summary>
6462
            <remarks>
6463
            When enumerating members (methods, properties, events) of a type (declared or inherited) Reflection enumerates all
6464
            runtime members of the type and its base types and caches the result.
6465
            When looking for a member of a specific name Reflection still enumerates all and filters out those that don't match the name.
6466
            That's inefficient when looking for members of multiple names one by one.
6467
            Instead we build a map of name to member list and then answer subsequent queries by simply looking up the dictionary.
6468
            </remarks>
6469
        </member>
6470
        <member name="M:Microsoft.Scripting.Utils.TypeUtils.GetNumericConversionOrder(System.TypeCode,System.Int32@,System.Int32@)">
6471
            <summary>
6472
            Returns a numerical code of the size of a type.  All types get both a horizontal
6473
            and vertical code.  Types that are lower in both dimensions have implicit conversions
6474
            to types that are higher in both dimensions.
6475
            </summary>
6476
        </member>
6477
        <member name="T:Microsoft.Scripting.Utils.ValueArray`1">
6478
            <summary>
6479
            Represents an array that has value equality.
6480
            </summary>
6481
        </member>
6482
        <member name="T:Microsoft.Scripting.Utils.WeakCollection`1">
6483
            <summary>
6484
            Simple class for tracking a list of items and enumerating over them.
6485
            The items are stored in weak references; if the objects are collected,
6486
            they will not be seen when enumerating.
6487
            </summary>
6488
            <typeparam name="T">The type of the collection element.</typeparam>
6489
        </member>
6490
        <member name="T:Microsoft.Scripting.Utils.WeakDictionary`2">
6491
            <summary>
6492
            Similar to Dictionary[TKey,TValue], but it also ensures that the keys will not be kept alive
6493
            if the only reference is from this collection. The value will be kept alive as long as the key
6494
            is alive.
6495
            
6496
            This currently has a limitation that the caller is responsible for ensuring that an object used as 
6497
            a key is not also used as a value in *any* instance of a WeakHash. Otherwise, it will result in the
6498
            object being kept alive forever. This effectively means that the owner of the WeakHash should be the
6499
            only one who has access to the object used as a value.
6500
            
6501
            Currently, there is also no guarantee of how long the values will be kept alive even after the keys
6502
            get collected. This could be fixed by triggerring CheckCleanup() to be called on every garbage-collection
6503
            by having a dummy watch-dog object with a finalizer which calls CheckCleanup().
6504
            </summary>
6505
        </member>
6506
        <member name="M:Microsoft.Scripting.Utils.WeakDictionary`2.CheckCleanup">
6507
            <summary>
6508
            Check if any of the keys have gotten collected
6509
            
6510
            Currently, there is also no guarantee of how long the values will be kept alive even after the keys
6511
            get collected. This could be fixed by triggerring CheckCleanup() to be called on every garbage-collection
6512
            by having a dummy watch-dog object with a finalizer which calls CheckCleanup().
6513
            </summary>
6514
        </member>
6515
        <member name="T:Microsoft.Scripting.Utils.WeakHandle">
6516
            <summary>
6517
            Changes the semantics of GC handle to return <c>null</c> instead of throwing
6518
            an <see cref="T:System.InvalidOperationException"/>.
6519
            </summary>
6520
        </member>
6521
        <member name="T:ComponentAce.Compression.Libs.ZLib.Adler32">
6522
            <summary>
6523
            This class represents adler32 checksum algorithm.
6524
            </summary>
6525
        </member>
6526
        <member name="M:ComponentAce.Compression.Libs.ZLib.Adler32.GetAdler32Checksum(System.Int64,System.Byte[],System.Int32,System.Int32)">
6527
            <summary>
6528
            This static method returns adler32 checksum of the buffer data
6529
            </summary>
6530
        </member>
6531
        <member name="T:ComponentAce.Compression.Libs.ZLib.Deflate">
6532
            <summary>
6533
            Implementation of the Deflate compression algorithm.
6534
            </summary>
6535
        </member>
6536
        <member name="T:ComponentAce.Compression.Libs.ZLib.Deflate.Config">
6537
            <summary>
6538
            Deflate algorithm configuration parameters class
6539
            </summary>
6540
        </member>
6541
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.Config.good_length">
6542
            <summary>
6543
            reduce lazy search above this match length
6544
            </summary>
6545
        </member>
6546
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.Config.max_lazy">
6547
            <summary>
6548
            do not perform lazy search above this match length
6549
            </summary>
6550
        </member>
6551
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.Config.nice_length">
6552
            <summary>
6553
            quit search above this match length
6554
            </summary>
6555
        </member>
6556
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.Config.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
6557
            <summary>
6558
            Constructor which initializes class inner fields
6559
            </summary>
6560
        </member>
6561
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.MAX_MEM_LEVEL">
6562
            <summary>
6563
            Maximum memory level
6564
            </summary>
6565
        </member>
6566
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.Z_DEFAULT_COMPRESSION">
6567
            <summary>
6568
            Defalult compression method
6569
            </summary>
6570
        </member>
6571
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.DEF_MEM_LEVEL">
6572
            <summary>
6573
            Default memory level
6574
            </summary>
6575
        </member>
6576
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.config_table">
6577
            <summary>
6578
            Deflate class congiration table
6579
            </summary>
6580
        </member>
6581
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.NeedMore">
6582
            <summary>
6583
            block not completed, need more input or more output
6584
            </summary>
6585
        </member>
6586
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.BlockDone">
6587
            <summary>
6588
            Block internalFlush performed
6589
            </summary>
6590
        </member>
6591
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.FinishStarted">
6592
            <summary>
6593
            Finish started, need only more output at next deflate
6594
            </summary>
6595
        </member>
6596
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.FinishDone">
6597
            <summary>
6598
            finish done, accept no more input or output
6599
            </summary>
6600
        </member>
6601
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.PRESET_DICT">
6602
            <summary>
6603
            preset dictionary flag in zlib header
6604
            </summary>
6605
        </member>
6606
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.Z_DEFLATED">
6607
            <summary>
6608
            The deflate compression method
6609
            </summary>
6610
        </member>
6611
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.Buf_size">
6612
            <summary>
6613
            The size of the buffer
6614
            </summary>
6615
        </member>
6616
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.REP_3_6">
6617
            <summary>
6618
            repeat previous bit length 3-6 times (2 bits of repeat count)
6619
            </summary>
6620
        </member>
6621
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.REPZ_3_10">
6622
            <summary>
6623
            repeat a zero length 3-10 times  (3 bits of repeat count)
6624
            </summary>
6625
        </member>
6626
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.REPZ_11_138">
6627
            <summary>
6628
            repeat a zero length 11-138 times  (7 bits of repeat count)
6629
            </summary>
6630
        </member>
6631
        <member name="P:ComponentAce.Compression.Libs.ZLib.Deflate.level">
6632
            <summary>
6633
            Gets or sets the Compression level.
6634
            </summary>
6635
        </member>
6636
        <member name="P:ComponentAce.Compression.Libs.ZLib.Deflate.Pending">
6637
            <summary>
6638
            Gets or sets the Number of bytes in the pending buffer.
6639
            </summary>
6640
        </member>
6641
        <member name="P:ComponentAce.Compression.Libs.ZLib.Deflate.Pending_buf">
6642
            <summary>
6643
            Gets or sets the Output pending buffer.
6644
            </summary>
6645
        </member>
6646
        <member name="P:ComponentAce.Compression.Libs.ZLib.Deflate.Pending_out">
6647
            <summary>
6648
            Gets or sets the next pending byte to output to the stream.
6649
            </summary>
6650
        </member>
6651
        <member name="P:ComponentAce.Compression.Libs.ZLib.Deflate.NoHeader">
6652
            <summary>
6653
            Gets or sets a value indicating whether to suppress zlib header and adler32.
6654
            </summary>
6655
        </member>
6656
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.strm">
6657
            <summary>
6658
            Pointer back to this zlib stream
6659
            </summary>
6660
        </member>
6661
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.status">
6662
            <summary>
6663
            As the name implies
6664
            </summary>
6665
        </member>
6666
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.pending_buf_size">
6667
            <summary>
6668
            Size of Pending_buf
6669
            </summary>
6670
        </member>
6671
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.data_type">
6672
            <summary>
6673
            UNKNOWN, BINARY or ASCII
6674
            </summary>
6675
        </member>
6676
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.method">
6677
            <summary>
6678
            STORED (for zip only) or DEFLATED
6679
            </summary>
6680
        </member>
6681
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.last_flush">
6682
            <summary>
6683
            Value of internalFlush parameter for previous deflate call
6684
            </summary>
6685
        </member>
6686
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.w_size">
6687
            <summary>
6688
            LZ77 Window size (32K by default)
6689
            </summary>
6690
        </member>
6691
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.w_bits">
6692
            <summary>
6693
            log2(w_size)  (8..16)
6694
            </summary>
6695
        </member>
6696
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.w_mask">
6697
            <summary>
6698
            w_size - 1
6699
            </summary>
6700
        </member>
6701
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.window">
6702
            <summary>
6703
            Sliding Window. Input bytes are ReadPos into the second half of the Window,
6704
            and move to the first half later to keep a dictionary of at least wSize
6705
            bytes. With this organization, matches are limited to a distance of
6706
            wSize-MAX_MATCH bytes, but this ensures that IO is always
6707
            performed with a length multiple of the block size. Also, it limits
6708
            the Window size to 64K, which is quite useful on MSDOS.
6709
            To do: use the user input buffer as sliding Window.
6710
            </summary>
6711
        </member>
6712
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.window_size">
6713
            <summary>
6714
            Actual size of Window: 2*wSize, except when the user input buffer is directly used as sliding Window.
6715
            </summary>
6716
        </member>
6717
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.prev">
6718
            <summary>
6719
            Link to older string with same hash index. To limit the size of this
6720
            array to 64K, this link is maintained only for the last 32K strings.
6721
            An index in this array is thus a Window index modulo 32K.
6722
            </summary>
6723
        </member>
6724
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.head">
6725
            <summary>
6726
            Heads of the hash chains or NIL.
6727
            </summary>
6728
        </member>
6729
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.ins_h">
6730
            <summary>
6731
            hash index of string to be inserted
6732
            </summary>
6733
        </member>
6734
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.hash_size">
6735
            <summary>
6736
            number of elements in hash table
6737
            </summary>
6738
        </member>
6739
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.hash_bits">
6740
            <summary>
6741
            log2(hash_size)
6742
            </summary>
6743
        </member>
6744
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.hash_mask">
6745
            <summary>
6746
            hash_size-1
6747
            </summary>
6748
        </member>
6749
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.hash_shift">
6750
            <summary>
6751
            Number of bits by which ins_h must be shifted at each input
6752
            step. It must be such that after MIN_MATCH steps, the oldest
6753
            byte no longer takes part in the hash key, that is:
6754
            hash_shift * MIN_MATCH >= hash_bits
6755
            </summary>
6756
        </member>
6757
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.block_start">
6758
            <summary>
6759
            Window position at the beginning of the current output block. Gets negative when the Window is moved backwards.
6760
            </summary>
6761
        </member>
6762
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.match_length">
6763
            <summary>
6764
            length of best match
6765
            </summary>
6766
        </member>
6767
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.prev_match">
6768
            <summary>
6769
            previous match
6770
            </summary>
6771
        </member>
6772
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.match_available">
6773
            <summary>
6774
            set if previous match exists
6775
            </summary>
6776
        </member>
6777
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.strstart">
6778
            <summary>
6779
            start of string to insert
6780
            </summary>
6781
        </member>
6782
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.match_start">
6783
            <summary>
6784
            start of matching string
6785
            </summary>
6786
        </member>
6787
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.lookahead">
6788
            <summary>
6789
            number of valid bytes ahead in Window
6790
            </summary>
6791
        </member>
6792
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.prev_length">
6793
            <summary>
6794
            Length of the best match at previous step. Matches not greater than this
6795
            are discarded. This is used in the lazy match evaluation.
6796
            </summary>
6797
        </member>
6798
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.max_chain_length">
6799
            <summary>
6800
            To speed up deflation, hash chains are never searched beyond this
6801
            length.  A higher limit improves compression ratio but degrades the speed.
6802
            </summary>
6803
        </member>
6804
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.max_lazy_match">
6805
            <summary>
6806
            Attempt to find a better match only when the current match is strictly
6807
            smaller than this value. This mechanism is used only for compression
6808
            levels >= 4.
6809
            </summary>
6810
        </member>
6811
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.strategy">
6812
            <summary>
6813
            favor or force Huffman coding
6814
            </summary>
6815
        </member>
6816
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.good_match">
6817
            <summary>
6818
            Use a faster search when the previous match is longer than this
6819
            </summary>
6820
        </member>
6821
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.nice_match">
6822
            <summary>
6823
            Stop searching when current match exceeds this
6824
            </summary>
6825
        </member>
6826
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.dyn_ltree">
6827
            <summary>
6828
            literal and length tree
6829
            </summary>
6830
        </member>
6831
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.dyn_dtree">
6832
            <summary>
6833
            distance tree
6834
            </summary>
6835
        </member>
6836
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.bl_tree">
6837
            <summary>
6838
             Huffman tree for bit lengths
6839
            </summary>
6840
        </member>
6841
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.l_desc">
6842
            <summary>
6843
            Desc for literal tree
6844
            </summary>
6845
        </member>
6846
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.d_desc">
6847
            <summary>
6848
            desc for distance tree
6849
            </summary>
6850
        </member>
6851
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.bl_desc">
6852
            <summary>
6853
            desc for bit length tree
6854
            </summary>
6855
        </member>
6856
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.bl_count">
6857
            <summary>
6858
            number of codes at each bit length for an optimal tree
6859
            </summary>
6860
        </member>
6861
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.heap">
6862
            <summary>
6863
            heap used to build the Huffman trees
6864
            </summary>
6865
        </member>
6866
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.heap_len">
6867
            <summary>
6868
            number of elements in the heap
6869
            </summary>
6870
        </member>
6871
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.heap_max">
6872
            <summary>
6873
            element of largest frequency
6874
            </summary>
6875
        </member>
6876
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.depth">
6877
            <summary>
6878
            Depth of each subtree used as tie breaker for trees of equal frequency
6879
            </summary>
6880
        </member>
6881
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.l_buf">
6882
            <summary>
6883
            index for literals or lengths
6884
            </summary>
6885
        </member>
6886
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.lit_bufsize">
6887
            <summary>
6888
             Size of match buffer for literals/lengths.  There are 4 reasons for
6889
             limiting lit_bufsize to 64K:
6890
               - frequencies can be kept in 16 bit counters
6891
               - if compression is not successful for the first block, all input
6892
                 data is still in the Window so we can still emit a stored block even
6893
                 when input comes from standard input.  (This can also be done for
6894
                 all blocks if lit_bufsize is not greater than 32K.)
6895
               - if compression is not successful for a file smaller than 64K, we can
6896
                 even emit a stored file instead of a stored block (saving 5 bytes).
6897
                 This is applicable only for zip (not gzip or zlib).
6898
               - creating new Huffman trees less frequently may not provide fast
6899
                 adaptation to changes in the input data statistics. (Take for
6900
                 example a binary file with poorly compressible code followed by
6901
                 a highly compressible string table.) Smaller buffer sizes give
6902
                 fast adaptation but have of course the overhead of transmitting
6903
                 trees more frequently.
6904
               - I can't count above 4
6905
            </summary> 
6906
        </member>
6907
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.last_lit">
6908
            <summary>
6909
            running index in l_buf
6910
            </summary>
6911
        </member>
6912
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.d_buf">
6913
            <summary>
6914
            index of pendig_buf
6915
            </summary>
6916
        </member>
6917
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.opt_len">
6918
            <summary>
6919
            bit length of current block with optimal trees
6920
            </summary>
6921
        </member>
6922
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.static_len">
6923
            <summary>
6924
            bit length of current block with static trees
6925
            </summary>
6926
        </member>
6927
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.matches">
6928
            <summary>
6929
            number of string matches in current block
6930
            </summary>
6931
        </member>
6932
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.last_eob_len">
6933
            <summary>
6934
            bit length of EOB code for last block
6935
            </summary>
6936
        </member>
6937
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.bi_buf">
6938
            <summary>
6939
            Output buffer. bits are inserted starting at the bottom (least
6940
            significant bits).
6941
            </summary>
6942
        </member>
6943
        <member name="F:ComponentAce.Compression.Libs.ZLib.Deflate.bi_valid">
6944
            <summary>
6945
            Number of valid bits in bi_buf.  All bits above the last valid bit
6946
            are always zero.
6947
            </summary>
6948
        </member>
6949
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.#ctor">
6950
            <summary>
6951
            Default constructor
6952
            </summary>
6953
        </member>
6954
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.lm_init">
6955
            <summary>
6956
            Initialization
6957
            </summary>
6958
        </member>
6959
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.tr_init">
6960
            <summary>
6961
            Initialize the tree data structures for a new zlib stream.
6962
            </summary>
6963
        </member>
6964
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.init_block">
6965
            <summary>
6966
            Initializes block
6967
            </summary>
6968
        </member>
6969
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.pqdownheap(System.Int16[],System.Int32)">
6970
            <summary>
6971
             Restore the heap property by moving down the tree starting at node k,
6972
             exchanging a node with the smallest of its two sons if necessary, stopping
6973
             when the heap property is re-established (each father smaller than its
6974
             two sons).
6975
             </summary>
6976
        </member>
6977
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.scan_tree(System.Int16[],System.Int32)">
6978
            <summary>
6979
             Scan a literal or distance tree to determine the frequencies of the codes
6980
             in the bit length tree.
6981
             </summary>
6982
        </member>
6983
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.build_bl_tree">
6984
            <summary>
6985
             Construct the Huffman tree for the bit lengths and return the index in
6986
             bl_order of the last bit length code to send.
6987
             </summary>
6988
        </member>
6989
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.send_all_trees(System.Int32,System.Int32,System.Int32)">
6990
            <summary>
6991
             Send the header for a block using dynamic Huffman trees: the counts, the
6992
             lengths of the bit length codes, the literal tree and the distance tree.
6993
             IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
6994
             </summary>
6995
        </member>
6996
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.send_tree(System.Int16[],System.Int32)">
6997
            <summary>
6998
             Send a literal or distance tree in compressed form, using the codes in
6999
             bl_tree.
7000
             </summary>
7001
        </member>
7002
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.put_byte(System.Byte[],System.Int32,System.Int32)">
7003
            <summary>
7004
             Output a byte on the stream.
7005
             IN assertion: there is enough room in Pending_buf.
7006
             </summary>
7007
        </member>
7008
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.put_byte(System.Byte)">
7009
            <summary>
7010
            Adds a byte to the buffer
7011
            </summary>
7012
        </member>
7013
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate._tr_align">
7014
            <summary>
7015
             Send one empty static block to give enough lookahead for inflate.
7016
             This takes 10 bits, of which 7 may remain in the bit buffer.
7017
             The current inflate code requires 9 bits of lookahead. If the
7018
             last two codes for the previous block (real code plus EOB) were coded
7019
             on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
7020
             the last real code. In this case we send two empty static blocks instead
7021
             of one. (There are no problems if the previous block is stored or fixed.)
7022
             To simplify the code, we assume the worst case of last real code encoded
7023
             on one bit only.
7024
             </summary>
7025
        </member>
7026
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate._tr_tally(System.Int32,System.Int32)">
7027
            <summary>
7028
            Save the match info and tally the frequency counts. Return true if
7029
            the current block must be flushed.
7030
            </summary>
7031
        </member>
7032
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.compress_block(System.Int16[],System.Int16[])">
7033
            <summary>
7034
             Send the block data compressed using the given Huffman trees
7035
            </summary>
7036
        </member>
7037
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.set_data_type">
7038
            <summary>
7039
            Set the data type to ASCII or BINARY, using a crude approximation:
7040
            binary if more than 20% of the bytes are &lt;= 6 or &gt;= 128, ascii otherwise.
7041
            IN assertion: the fields freq of dyn_ltree are set and the total of all
7042
            frequencies does not exceed 64K (to fit in an int on 16 bit machines).
7043
            </summary>
7044
        </member>
7045
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.bi_flush">
7046
            <summary>
7047
            Flush the bit buffer, keeping at most 7 bits in it.
7048
            </summary>
7049
        </member>
7050
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.bi_windup">
7051
            <summary>
7052
            Flush the bit buffer and align the output on a byte boundary
7053
            </summary>
7054
        </member>
7055
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.copy_block(System.Int32,System.Int32,System.Boolean)">
7056
            <summary>
7057
            Copy a stored block, storing first the length and its
7058
            one's complement if requested.
7059
            </summary>
7060
        </member>
7061
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.flush_block_only(System.Boolean)">
7062
            <summary>
7063
            Flushes block
7064
            </summary>
7065
        </member>
7066
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflate_stored(System.Int32)">
7067
            <summary>
7068
            Copy without compression as much as possible from the input stream, return
7069
            the current block state.
7070
            This function does not insert new strings in the dictionary since
7071
            uncompressible data is probably not useful. This function is used
7072
            only for the level=0 compression option.
7073
            NOTE: this function should be optimized to avoid extra copying from
7074
            Window to Pending_buf.
7075
            </summary>
7076
        </member>
7077
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate._tr_stored_block(System.Int32,System.Int32,System.Boolean)">
7078
            <summary>
7079
            Send a stored block
7080
            </summary>
7081
        </member>
7082
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate._tr_flush_block(System.Int32,System.Int32,System.Boolean)">
7083
            <summary>
7084
            Determine the best encoding for the current block: dynamic trees, static
7085
            trees or store, and output the encoded block to the zip file.
7086
            </summary>
7087
        </member>
7088
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.fill_window">
7089
            <summary>
7090
             Fill the Window when the lookahead becomes insufficient.
7091
             Updates strstart and lookahead.
7092
            
7093
             IN assertion: lookahead less than MIN_LOOKAHEAD
7094
             OUT assertions: strstart less than or equal to window_size-MIN_LOOKAHEAD
7095
                At least one byte has been ReadPos, or _avail_in == 0; reads are
7096
                performed for at least two bytes (required for the zip translate_eol
7097
                option -- not supported here).
7098
             </summary>
7099
        </member>
7100
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflate_fast(System.Int32)">
7101
            <summary>
7102
             Compress as much as possible from the input stream, return the current
7103
             block state.
7104
             This function does not perform lazy evaluation of matches and inserts
7105
             new strings in the dictionary only for unmatched strings or for short
7106
             matches. It is used only for the fast compression options.
7107
             </summary>
7108
        </member>
7109
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflate_slow(System.Int32)">
7110
            <summary>
7111
             Same as above, but achieves better compression. We use a lazy
7112
             evaluation for matches: a match is finally adopted only if there is
7113
             no better match at the next Window position.
7114
            </summary>
7115
        </member>
7116
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.longest_match(System.Int32)">
7117
            <summary>
7118
            Finds the longest matching data part
7119
            </summary>
7120
        </member>
7121
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.DeflateInit(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32,System.Int32)">
7122
            <summary>
7123
            Deflate algorithm initialization
7124
            </summary>
7125
            <param name="strm">ZStream object</param>
7126
            <param name="level">Compression level</param>
7127
            <param name="bits">Window bits</param>
7128
            <returns>A result code</returns>
7129
        </member>
7130
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.DeflateInit(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32)">
7131
            <summary>
7132
            Initializes deflate algorithm
7133
            </summary>
7134
            <param name="strm">ZStream object</param>
7135
            <param name="level">Compression level</param>
7136
            <returns>Operation result result code</returns>
7137
        </member>
7138
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.DeflateInit2(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32,System.Int32,System.Int32,ComponentAce.Compression.Libs.ZLib.CompressionStrategy)">
7139
            <summary>
7140
            Deflate algorithm initialization
7141
            </summary>
7142
            <param name="strm">ZStream object</param>
7143
            <param name="level">Compression level</param>
7144
            <param name="windowBits">Window bits</param>
7145
            <param name="memLevel">Memory level</param>
7146
            <param name="strategy">Compression strategy</param>
7147
            <returns>Operation result code</returns>
7148
        </member>
7149
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflateReset(ComponentAce.Compression.Libs.ZLib.ZStream)">
7150
            <summary>
7151
            Resets the current state of deflate object
7152
            </summary>
7153
        </member>
7154
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflateEnd">
7155
            <summary>
7156
            Finish compression with deflate algorithm
7157
            </summary>
7158
        </member>
7159
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflateParams(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32,ComponentAce.Compression.Libs.ZLib.CompressionStrategy)">
7160
            <summary>
7161
            Sets deflate algorithm parameters
7162
            </summary>
7163
        </member>
7164
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflateSetDictionary(ComponentAce.Compression.Libs.ZLib.ZStream,System.Byte[],System.Int32)">
7165
            <summary>
7166
            Sets deflate dictionary
7167
            </summary>
7168
        </member>
7169
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.deflate(ComponentAce.Compression.Libs.ZLib.ZStream,ComponentAce.Compression.Libs.ZLib.FlushStrategy)">
7170
            <summary>
7171
            Performs data compression with the deflate algorithm
7172
            </summary>
7173
        </member>
7174
        <member name="M:ComponentAce.Compression.Libs.ZLib.Deflate.#cctor">
7175
            <summary>
7176
            Static constructor initializes config_table
7177
            </summary>
7178
        </member>
7179
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.mode">
7180
            <summary>
7181
            current inflate_block mode 
7182
            </summary>
7183
        </member>
7184
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.left">
7185
            <summary>
7186
            if STORED, bytes left to copy 
7187
            </summary>
7188
        </member>
7189
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.table">
7190
            <summary>
7191
            table lengths (14 bits) 
7192
            </summary>
7193
        </member>
7194
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.index">
7195
            <summary>
7196
            index into blens (or border) 
7197
            </summary>
7198
        </member>
7199
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.blens">
7200
            <summary>
7201
            bit lengths of codes 
7202
            </summary>
7203
        </member>
7204
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.bb">
7205
            <summary>
7206
            bit length tree depth 
7207
            </summary>
7208
        </member>
7209
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.tb">
7210
            <summary>
7211
            bit length decoding tree 
7212
            </summary>
7213
        </member>
7214
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.codes">
7215
            <summary>
7216
            if CODES, current state 
7217
            </summary>
7218
        </member>
7219
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.last">
7220
            <summary>
7221
            true if this block is the last block 
7222
            </summary>
7223
        </member>
7224
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.hufts">
7225
            <summary>
7226
            single malloc for tree space 
7227
            </summary>
7228
        </member>
7229
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.needCheck">
7230
            <summary>
7231
            need check
7232
            </summary>
7233
        </member>
7234
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfBlocks.check">
7235
            <summary>
7236
            check on output 
7237
            </summary>
7238
        </member>
7239
        <member name="P:ComponentAce.Compression.Libs.ZLib.InfBlocks.Window">
7240
            <summary>
7241
            Gets or sets the sliding window.
7242
            </summary>
7243
        </member>
7244
        <member name="P:ComponentAce.Compression.Libs.ZLib.InfBlocks.End">
7245
            <summary>
7246
            Gets or sets the one byte after sliding Window.
7247
            </summary>
7248
        </member>
7249
        <member name="P:ComponentAce.Compression.Libs.ZLib.InfBlocks.ReadPos">
7250
            <summary>
7251
            Gets or sets the Window ReadPos pointer.
7252
            </summary>
7253
        </member>
7254
        <member name="P:ComponentAce.Compression.Libs.ZLib.InfBlocks.WritePos">
7255
            <summary>
7256
            Gets or sets the Window WritePos pointer.
7257
            </summary>
7258
        </member>
7259
        <member name="P:ComponentAce.Compression.Libs.ZLib.InfBlocks.BitK">
7260
            <summary>
7261
            Gets or sets the bits in bit buffer. 
7262
            </summary>
7263
        </member>
7264
        <member name="P:ComponentAce.Compression.Libs.ZLib.InfBlocks.BitB">
7265
            <summary>
7266
            Gets or sets the bit buffer.
7267
            </summary>
7268
        </member>
7269
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfBlocks.reset(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int64[])">
7270
            <summary>
7271
            Resets this InfBlocks class instance
7272
            </summary>
7273
        </member>
7274
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfBlocks.proc(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32)">
7275
            <summary>
7276
            Block processing functions
7277
            </summary>
7278
        </member>
7279
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfBlocks.free(ComponentAce.Compression.Libs.ZLib.ZStream)">
7280
            <summary>
7281
            Frees inner buffers
7282
            </summary>
7283
        </member>
7284
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfBlocks.set_dictionary(System.Byte[],System.Int32,System.Int32)">
7285
            <summary>
7286
            Sets dictionary
7287
            </summary>
7288
        </member>
7289
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfBlocks.sync_point">
7290
            <summary>
7291
             Returns true if inflate is currently at the End of a block generated
7292
             by Z_SYNC_FLUSH or Z_FULL_FLUSH. 
7293
             </summary>
7294
        </member>
7295
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfBlocks.inflate_flush(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32)">
7296
            <summary>
7297
            copy as much as possible from the sliding Window to the output area
7298
            </summary>
7299
        </member>
7300
        <member name="T:ComponentAce.Compression.Libs.ZLib.InflateCodesMode">
7301
            <summary>
7302
            Inflate codes mode
7303
            </summary>
7304
        </member>
7305
        <member name="T:ComponentAce.Compression.Libs.ZLib.InfCodes">
7306
            <summary>
7307
            This class is used by the InfBlocks class
7308
            </summary>
7309
        </member>
7310
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.mode">
7311
            <summary>
7312
            current inflate_codes mode
7313
            </summary>
7314
        </member>
7315
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.count">
7316
            <summary>
7317
            length
7318
            </summary>        
7319
        </member>
7320
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.tree">
7321
            <summary>
7322
            pointer into tree
7323
            </summary>
7324
        </member>
7325
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.tree_index">
7326
            <summary>
7327
            current index of the tree
7328
            </summary>
7329
        </member>
7330
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.need">
7331
            <summary>
7332
            
7333
            </summary>
7334
        </member>
7335
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.lbits">
7336
            <summary>
7337
            ltree bits decoded per branch
7338
            </summary>
7339
        </member>
7340
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.dbits">
7341
            <summary>
7342
            dtree bits decoded per branch
7343
            </summary>
7344
        </member>
7345
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.ltree">
7346
            <summary>
7347
            literal/length/eob tree
7348
            </summary>
7349
        </member>
7350
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.ltree_index">
7351
            <summary>
7352
            literal/length/eob tree index
7353
            </summary>
7354
        </member>
7355
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.dtree">
7356
            <summary>
7357
            distance tree
7358
            </summary>
7359
        </member>
7360
        <member name="F:ComponentAce.Compression.Libs.ZLib.InfCodes.dtree_index">
7361
            <summary>
7362
            distance tree index
7363
            </summary>
7364
        </member>
7365
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfCodes.#ctor(System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32[],System.Int32,ComponentAce.Compression.Libs.ZLib.ZStream)">
7366
            <summary>
7367
            Constructor which takes literal, distance trees, corresponding bites decoded for branches, corresponding indexes and a ZStream object 
7368
            </summary>        
7369
        </member>
7370
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfCodes.#ctor(System.Int32,System.Int32,System.Int32[],System.Int32[],ComponentAce.Compression.Libs.ZLib.ZStream)">
7371
            <summary>
7372
            Constructor which takes literal, distance trees, corresponding bites decoded for branches and a ZStream object 
7373
            </summary>   
7374
        </member>
7375
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfCodes.proc(ComponentAce.Compression.Libs.ZLib.InfBlocks,ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32)">
7376
            <summary>
7377
            Block processing method
7378
            </summary>
7379
            <param name="s">An instance of the InfBlocks class</param>
7380
            <param name="z">A ZStream object</param>
7381
            <param name="r">A result code</param>
7382
        </member>
7383
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfCodes.free(ComponentAce.Compression.Libs.ZLib.ZStream)">
7384
            <summary>
7385
            Frees allocated resources
7386
            </summary>
7387
        </member>
7388
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfCodes.inflate_fast(System.Int32,System.Int32,System.Int32[],System.Int32,System.Int32[],System.Int32,ComponentAce.Compression.Libs.ZLib.InfBlocks,ComponentAce.Compression.Libs.ZLib.ZStream)">
7389
            <summary>
7390
            Fast inflate procedure. Called with number of bytes left to WritePos in Window at least 258
7391
            (the maximum string length) and number of input bytes available
7392
            at least ten.  The ten bytes are six bytes for the longest length/
7393
            distance pair plus four bytes for overloading the bit buffer.
7394
            </summary>
7395
        </member>
7396
        <member name="T:ComponentAce.Compression.Libs.ZLib.InflateMode">
7397
            <summary>
7398
            This enumeration contains modes of inflate processing
7399
            </summary>
7400
        </member>
7401
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.METHOD">
7402
            <summary>
7403
            waiting for method byte
7404
            </summary>
7405
        </member>
7406
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.FLAG">
7407
            <summary>
7408
            waiting for flag byte
7409
            </summary>
7410
        </member>
7411
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.DICT4">
7412
            <summary>
7413
            four dictionary check bytes to go
7414
            </summary>
7415
        </member>
7416
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.DICT3">
7417
            <summary>
7418
            three dictionary check bytes to go
7419
            </summary>
7420
        </member>
7421
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.DICT2">
7422
            <summary>
7423
            two dictionary check bytes to go
7424
            </summary>
7425
        </member>
7426
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.DICT1">
7427
            <summary>
7428
            one dictionary check byte to go
7429
            </summary>
7430
        </member>
7431
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.DICT0">
7432
            <summary>
7433
            waiting for inflateSetDictionary
7434
            </summary>
7435
        </member>
7436
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.BLOCKS">
7437
            <summary>
7438
            decompressing blocks
7439
            </summary>
7440
        </member>
7441
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.CHECK4">
7442
            <summary>
7443
            four check bytes to go
7444
            </summary>
7445
        </member>
7446
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.CHECK3">
7447
            <summary>
7448
            three check bytes to go
7449
            </summary>
7450
        </member>
7451
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.CHECK2">
7452
            <summary>
7453
            two check bytes to go
7454
            </summary>
7455
        </member>
7456
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.CHECK1">
7457
            <summary>
7458
            one check byte to go
7459
            </summary>
7460
        </member>
7461
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.DONE">
7462
            <summary>
7463
            finished check, done
7464
            </summary>
7465
        </member>
7466
        <member name="F:ComponentAce.Compression.Libs.ZLib.InflateMode.BAD">
7467
            <summary>
7468
            got an error--stay here
7469
            </summary>
7470
        </member>
7471
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.mode">
7472
            <summary>
7473
            current inflate mode
7474
            </summary>
7475
        </member>
7476
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.method">
7477
            <summary>
7478
            if FLAGS, method byte
7479
            </summary>
7480
        </member>
7481
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.was">
7482
            <summary>
7483
            computed check value
7484
            </summary>
7485
        </member>
7486
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.need">
7487
            <summary>
7488
            stream check value
7489
            </summary>
7490
        </member>
7491
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.marker">
7492
            <summary>
7493
            if BAD, inflateSync's marker bytes count
7494
            </summary>
7495
        </member>
7496
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.nowrap">
7497
            <summary>
7498
            flag for no wrapper
7499
            </summary>
7500
        </member>
7501
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.wbits">
7502
            <summary>
7503
            log2(Window size)  (8..15, defaults to 15)
7504
            </summary>
7505
        </member>
7506
        <member name="F:ComponentAce.Compression.Libs.ZLib.Inflate.blocks">
7507
            <summary>
7508
            current inflate_blocks state
7509
            </summary>
7510
        </member>
7511
        <member name="M:ComponentAce.Compression.Libs.ZLib.Inflate.inflateReset(ComponentAce.Compression.Libs.ZLib.ZStream)">
7512
            <summary>
7513
            Resets the Inflate algorithm
7514
            </summary>
7515
            <param name="z">A ZStream object</param>
7516
            <returns>A result code</returns>
7517
        </member>
7518
        <member name="M:ComponentAce.Compression.Libs.ZLib.Inflate.inflateEnd(ComponentAce.Compression.Libs.ZLib.ZStream)">
7519
            <summary>
7520
            Finishes the inflate algorithm processing
7521
            </summary>
7522
            <param name="z">A ZStream object</param>
7523
            <returns>Operation result code</returns>
7524
        </member>
7525
        <member name="M:ComponentAce.Compression.Libs.ZLib.Inflate.inflateInit(ComponentAce.Compression.Libs.ZLib.ZStream,System.Int32)">
7526
            <summary>
7527
            Initializes the inflate algorithm
7528
            </summary>
7529
            <param name="z">A ZStream object</param>
7530
            <param name="windowBits">Window size</param>
7531
            <returns>Operation result code</returns>
7532
        </member>
7533
        <member name="M:ComponentAce.Compression.Libs.ZLib.Inflate.inflate(ComponentAce.Compression.Libs.ZLib.ZStream,ComponentAce.Compression.Libs.ZLib.FlushStrategy)">
7534
            <summary>
7535
            Runs inflate algorithm
7536
            </summary>
7537
            <param name="z">A ZStream object</param>
7538
            <param name="flush">Flush strategy</param>
7539
            <returns>Operation result code</returns>
7540
        </member>
7541
        <member name="M:ComponentAce.Compression.Libs.ZLib.Inflate.inflateSetDictionary(ComponentAce.Compression.Libs.ZLib.ZStream,System.Byte[],System.Int32)">
7542
            <summary>
7543
            Sets dictionary for the inflate operation
7544
            </summary>
7545
            <param name="z">A ZStream object</param>
7546
            <param name="dictionary">An array of byte - dictionary</param>
7547
            <param name="dictLength">Dictionary length</param>
7548
            <returns>Operation result code</returns>
7549
        </member>
7550
        <member name="M:ComponentAce.Compression.Libs.ZLib.Inflate.inflateSync(ComponentAce.Compression.Libs.ZLib.ZStream)">
7551
            <summary>
7552
            Inflate synchronization
7553
            </summary>
7554
            <param name="z">A ZStream object</param>
7555
            <returns>Operation result code</returns>
7556
        </member>
7557
        <member name="M:ComponentAce.Compression.Libs.ZLib.Inflate.inflateSyncPoint(ComponentAce.Compression.Libs.ZLib.ZStream)">
7558
            <summary>
7559
             Returns true if inflate is currently at the End of a block generated
7560
             by Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
7561
             implementation to provide an additional safety check. PPP uses Z_SYNC_FLUSH
7562
             but removes the length bytes of the resulting empty stored block. When
7563
             decompressing, PPP checks that at the End of input packet, inflate is
7564
             waiting for these length bytes.
7565
             </summary>
7566
        </member>
7567
        <member name="M:ComponentAce.Compression.Libs.ZLib.GzipHeader.CreateRemover(ComponentAce.Compression.Libs.ZLib.ZStream)">
7568
            <summary>
7569
            Creates header remover.
7570
            As long as header is not completed, call to Remover.MoveNext() returns true and
7571
            adjust state of z.
7572
            </summary>
7573
            <param name="z">Stream where gzip header will appear.</param>
7574
            <returns></returns>
7575
        </member>
7576
        <member name="T:ComponentAce.Compression.Libs.ZLib.InfTreeUtil">
7577
            <summary>
7578
            Contains utility information for the InfTree class
7579
            </summary>
7580
        </member>
7581
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfTree.huft_build(System.Int32[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[])">
7582
            <summary>
7583
            Given a list of code lengths and a maximum table size, make a set of
7584
            tables to decode that set of codes.  
7585
            </summary>
7586
            <returns>Return (int)ZLibResultCode.Z_OK on success, (int)ZLibResultCode.Z_DATA_ERROR if the given code set is incomplete (the tables are still built in this case), (int)ZLibResultCode.Z_DATA_ERROR if the input is invalid (an over-subscribed set of lengths), or (int)ZLibResultCode.Z_DATA_ERROR if not enough memory.
7587
            </returns>
7588
        </member>
7589
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfTree.inflate_trees_bits(System.Int32[],System.Int32[],System.Int32[],System.Int32[],ComponentAce.Compression.Libs.ZLib.ZStream)">
7590
            <summary>
7591
            Build trees
7592
            </summary>
7593
        </member>
7594
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfTree.inflate_trees_dynamic(System.Int32,System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int32[],ComponentAce.Compression.Libs.ZLib.ZStream)">
7595
            <summary>
7596
            Builds dynamic trees
7597
            </summary>
7598
        </member>
7599
        <member name="M:ComponentAce.Compression.Libs.ZLib.InfTree.inflate_trees_fixed(System.Int32[],System.Int32[],System.Int32[][],System.Int32[][],ComponentAce.Compression.Libs.ZLib.ZStream)">
7600
            <summary>
7601
            Build fixed trees
7602
            </summary>
7603
        </member>
7604
        <member name="F:ComponentAce.Compression.Libs.ZLib.StaticTree.MAX_BL_BITS">
7605
            <summary>
7606
             Bit length codes must not exceed MAX_BL_BITS bits
7607
            </summary>
7608
        </member>
7609
        <member name="T:ComponentAce.Compression.Libs.ZLib.Tree">
7610
            <summary>
7611
            This class represents a tree and is used in the Deflate class
7612
            </summary>
7613
        </member>
7614
        <member name="F:ComponentAce.Compression.Libs.ZLib.Tree.dyn_tree">
7615
            <summary>
7616
            The dynamic tree
7617
            </summary>
7618
        </member>
7619
        <member name="F:ComponentAce.Compression.Libs.ZLib.Tree.max_code">
7620
            <summary>
7621
            Largest code with non zero frequency
7622
            </summary>
7623
        </member>
7624
        <member name="F:ComponentAce.Compression.Libs.ZLib.Tree.stat_desc">
7625
            <summary>
7626
            the corresponding static tree
7627
            </summary>
7628
        </member>
7629
        <member name="P:ComponentAce.Compression.Libs.ZLib.Tree.DynTree">
7630
            <summary>
7631
            The dynamic tree
7632
            </summary>
7633
        </member>
7634
        <member name="P:ComponentAce.Compression.Libs.ZLib.Tree.MaxCode">
7635
            <summary>
7636
            Largest code with non zero frequency
7637
            </summary>
7638
        </member>
7639
        <member name="P:ComponentAce.Compression.Libs.ZLib.Tree.StatDesc">
7640
            <summary>
7641
            the corresponding static tree
7642
            </summary>
7643
        </member>
7644
        <member name="M:ComponentAce.Compression.Libs.ZLib.Tree.d_code(System.Int32)">
7645
            <summary>
7646
            Mapping from a distance to a distance code. dist is the distance - 1 and
7647
            must not have side effects. _dist_code[256] and _dist_code[257] are never
7648
            used.
7649
            </summary>
7650
        </member>
7651
        <member name="M:ComponentAce.Compression.Libs.ZLib.Tree.gen_bitlen(ComponentAce.Compression.Libs.ZLib.Deflate)">
7652
            <summary>
7653
             Compute the optimal bit lengths for a tree and update the total bit length
7654
             for the current block.
7655
             IN assertion: the fields freq and dad are set, heap[heap_max] and
7656
                above are the tree nodes sorted by increasing frequency.
7657
             OUT assertions: the field count is set to the optimal bit length, the
7658
                 array bl_count contains the frequencies for each bit length.
7659
                 The length opt_len is updated; static_len is also updated if stree is
7660
                 not null.
7661
            </summary>
7662
        </member>
7663
        <member name="M:ComponentAce.Compression.Libs.ZLib.Tree.build_tree(ComponentAce.Compression.Libs.ZLib.Deflate)">
7664
            <summary>
7665
             Construct one Huffman tree and assigns the code bit strings and lengths.
7666
             Update the total bit length for the current block.
7667
             IN assertion: the field freq is set for all tree elements.
7668
             OUT assertions: the fields count and code are set to the optimal bit length
7669
                 and corresponding code. The length opt_len is updated; static_len is
7670
                 also updated if stree is not null. The field max_code is set.
7671
            </summary>
7672
        </member>
7673
        <member name="M:ComponentAce.Compression.Libs.ZLib.Tree.gen_codes(System.Int16[],System.Int32,System.Int16[])">
7674
            <summary>
7675
             Generate the codes for a given tree and bit counts (which need not be
7676
             optimal).
7677
             IN assertion: the array bl_count contains the bit length statistics for
7678
             the given tree and the field count is set for all tree elements.
7679
             OUT assertion: the field code is set for all tree elements of non
7680
                 zero code length.
7681
            </summary>
7682
        </member>
7683
        <member name="M:ComponentAce.Compression.Libs.ZLib.Tree.bi_reverse(System.Int32,System.Int32)">
7684
            <summary>
7685
             Reverse the first count bits of a code, using straightforward code (a faster
7686
             method would use a table)
7687
            </summary>
7688
        </member>
7689
        <member name="T:ComponentAce.Compression.Libs.ZLib.ZLibCompressionLevel">
7690
            <summary>
7691
            Some constants for specifying compression levels. Methods which takes a compression level as a parameter expects an integer value from 0 to 9. You can either specify an integer value or use constants for some most widely used compression levels.
7692
            </summary>
7693
        </member>
7694
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibCompressionLevel.Z_NO_COMPRESSION">
7695
            <summary>
7696
             No compression should be used at all.
7697
            </summary>
7698
        </member>
7699
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibCompressionLevel.Z_BEST_SPEED">
7700
            <summary>
7701
            Minimal compression, but greatest speed.
7702
            </summary>
7703
        </member>
7704
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibCompressionLevel.Z_BEST_COMPRESSION">
7705
            <summary>
7706
            Maximum compression, but slowest.
7707
            </summary>
7708
        </member>
7709
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibCompressionLevel.Z_DEFAULT_COMPRESSION">
7710
            <summary>
7711
            Select default compression level (good compression, good speed).
7712
            </summary>
7713
        </member>
7714
        <member name="T:ComponentAce.Compression.Libs.ZLib.CompressionStrategy">
7715
            <summary>
7716
            Compression strategies. The strategy parameter is used to tune the compression algorithm. The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately.
7717
            </summary>
7718
        </member>
7719
        <member name="F:ComponentAce.Compression.Libs.ZLib.CompressionStrategy.Z_FILTERED">
7720
            <summary>
7721
            This strategy is designed for filtered data. Data which consists of mostly small values, with random distribution should use Z_FILTERED. With this strategy, less string matching is performed.
7722
            </summary>
7723
        </member>
7724
        <member name="F:ComponentAce.Compression.Libs.ZLib.CompressionStrategy.Z_HUFFMAN_ONLY">
7725
            <summary>
7726
            Z_HUFFMAN_ONLY forces Huffman encoding only (no string match)
7727
            </summary>
7728
        </member>
7729
        <member name="F:ComponentAce.Compression.Libs.ZLib.CompressionStrategy.Z_DEFAULT_STRATEGY">
7730
            <summary>
7731
            The default strategy is the most commonly used. With this strategy, string matching and huffman compression are balanced.
7732
            </summary>
7733
        </member>
7734
        <member name="T:ComponentAce.Compression.Libs.ZLib.FlushStrategy">
7735
            <summary>
7736
            Flush strategies
7737
            </summary>
7738
        </member>
7739
        <member name="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_NO_FLUSH">
7740
            <summary>
7741
              Do not internalFlush data, but just write data as normal to the output buffer. This is the normal way in which data is written to the output buffer.
7742
            </summary>
7743
        </member>
7744
        <member name="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_PARTIAL_FLUSH">
7745
            <summary>
7746
            Obsolete. You should use Z_SYNC_FLUSH instead.
7747
            </summary>        
7748
        </member>
7749
        <member name="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_SYNC_FLUSH">
7750
            <summary>
7751
            All pending output is flushed to the output buffer and the output is aligned on a byte boundary, so that the decompressor can get all input data available so far.
7752
            </summary>
7753
        </member>
7754
        <member name="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FULL_FLUSH">
7755
            <summary>
7756
            All output is flushed as with Z_SYNC_FLUSH, and the compression state is reset so that decompression can restart from this point if previous compressed data has been damaged or if random access is desired. Using Z_FULL_FLUSH too often can seriously degrade the compression. ZLib_InflateSync will locate points in the compression string where a full has been performed.
7757
            </summary>
7758
        </member>
7759
        <member name="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH">
7760
            <summary>
7761
            Notifies the module that the input has now been exhausted. Pending input is processed, pending output is flushed and calls return with Z_STREAM_END if there was enough output space.
7762
            </summary>
7763
        </member>
7764
        <member name="T:ComponentAce.Compression.Libs.ZLib.ZLibResultCode">
7765
            <summary>
7766
            Results of operations in ZLib library
7767
            </summary>
7768
        </member>
7769
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK">
7770
            <summary>
7771
             No failure was encountered, the operation completed without problem.
7772
            </summary>
7773
        </member>
7774
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END">
7775
            <summary>
7776
            No failure was encountered, and the input has been exhausted.
7777
            </summary>
7778
        </member>
7779
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_NEED_DICT">
7780
            <summary>
7781
            A preset dictionary is required for decompression of the data.
7782
            </summary>
7783
        </member>
7784
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_ERRNO">
7785
            <summary>
7786
            An internal error occurred
7787
            </summary>
7788
        </member>
7789
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR">
7790
            <summary>
7791
            The stream structure was inconsistent
7792
            </summary>
7793
        </member>
7794
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_DATA_ERROR">
7795
            <summary>
7796
            Input data has been corrupted (for decompression).
7797
            </summary>
7798
        </member>
7799
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_MEM_ERROR">
7800
            <summary>
7801
            Memory allocation failed.
7802
            </summary>
7803
        </member>
7804
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_BUF_ERROR">
7805
            <summary>
7806
            There was not enough space in the output buffer.
7807
            </summary>
7808
        </member>
7809
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_VERSION_ERROR">
7810
            <summary>
7811
            The version supplied does not match that supported by the ZLib module.
7812
            </summary>
7813
        </member>
7814
        <member name="T:ComponentAce.Compression.Libs.ZLib.DeflateState">
7815
            <summary>
7816
            States of deflate operation
7817
            </summary>
7818
        </member>
7819
        <member name="T:ComponentAce.Compression.Libs.ZLib.BlockType">
7820
            <summary>
7821
            Data block types, i.e. binary or ascii text
7822
            </summary>
7823
        </member>
7824
        <member name="T:ComponentAce.Compression.Libs.ZLib.ZLibUtil">
7825
            <summary>
7826
            Helper class
7827
            </summary>
7828
        </member>
7829
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.CopyLargeArrayToSmall.CopyData">
7830
            <summary>
7831
            Copies large array which was passed as srcBuf to the Initialize method into the destination array which were passes as destBuff
7832
            </summary>
7833
            <returns>The number of bytes copied</returns>
7834
        </member>
7835
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibUtil.MAX_WBITS">
7836
            <summary>
7837
            Max Window size
7838
            </summary>
7839
        </member>
7840
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibUtil.PRESET_DICT">
7841
            <summary>
7842
            preset dictionary flag in zlib header
7843
            </summary>
7844
        </member>
7845
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibUtil.zLibBufSize">
7846
            <summary>
7847
            The size of the buffer
7848
            </summary>
7849
        </member>
7850
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibUtil.Z_DEFLATED">
7851
            <summary>
7852
            Deflate compression method index
7853
            </summary>
7854
        </member>
7855
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.Identity(System.Int64)">
7856
            <summary>
7857
            This method returns the literal value received
7858
            </summary>
7859
            <param name="literal">The literal to return</param>
7860
            <returns>The received value</returns>
7861
        </member>
7862
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.Identity(System.UInt64)">
7863
            <summary>
7864
            This method returns the literal value received
7865
            </summary>
7866
            <param name="literal">The literal to return</param>
7867
            <returns>The received value</returns>
7868
        </member>
7869
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.Identity(System.Single)">
7870
            <summary>
7871
            This method returns the literal value received
7872
            </summary>
7873
            <param name="literal">The literal to return</param>
7874
            <returns>The received value</returns>
7875
        </member>
7876
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.Identity(System.Double)">
7877
            <summary>
7878
            This method returns the literal value received
7879
            </summary>
7880
            <param name="literal">The literal to return</param>
7881
            <returns>The received value</returns>
7882
        </member>
7883
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.URShift(System.Int32,System.Int32)">
7884
            <summary>
7885
            Performs an unsigned bitwise right shift with the specified number
7886
            </summary>
7887
            <param name="number">Number to operate on</param>
7888
            <param name="bits">Ammount of bits to shift</param>
7889
            <returns>The resulting number from the shift operation</returns>
7890
        </member>
7891
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.URShift(System.Int32,System.Int64)">
7892
            <summary>
7893
            Performs an unsigned bitwise right shift with the specified number
7894
            </summary>
7895
            <param name="number">Number to operate on</param>
7896
            <param name="bits">Ammount of bits to shift</param>
7897
            <returns>The resulting number from the shift operation</returns>
7898
        </member>
7899
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.URShift(System.Int64,System.Int32)">
7900
            <summary>
7901
            Performs an unsigned bitwise right shift with the specified number
7902
            </summary>
7903
            <param name="number">Number to operate on</param>
7904
            <param name="bits">Ammount of bits to shift</param>
7905
            <returns>The resulting number from the shift operation</returns>
7906
        </member>
7907
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.URShift(System.Int64,System.Int64)">
7908
            <summary>
7909
            Performs an unsigned bitwise right shift with the specified number
7910
            </summary>
7911
            <param name="number">Number to operate on</param>
7912
            <param name="bits">Ammount of bits to shift</param>
7913
            <returns>The resulting number from the shift operation</returns>
7914
        </member>
7915
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.ReadInput(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
7916
            <summary>Reads a number of characters from the current source Stream and writes the data to the target array at the specified index.</summary>
7917
            <param name="sourceStream">The source Stream to ReadPos from.</param>
7918
            <param name="target">Contains the array of characters ReadPos from the source Stream.</param>
7919
            <param name="start">The starting index of the target array.</param>
7920
            <param name="count">The maximum number of characters to ReadPos from the source Stream.</param>
7921
            <returns>The number of characters ReadPos. The number will be less than or equal to count depending on the data available in the source Stream. Returns -1 if the End of the stream is reached.</returns>
7922
        </member>
7923
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.ReadInput(System.IO.TextReader,System.Byte[],System.Int32,System.Int32)">
7924
            <summary>Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index.</summary>
7925
            <param name="sourceTextReader">The source TextReader to ReadPos from</param>
7926
            <param name="target">Contains the array of characteres ReadPos from the source TextReader.</param>
7927
            <param name="start">The starting index of the target array.</param>
7928
            <param name="count">The maximum number of characters to ReadPos from the source TextReader.</param>
7929
            <returns>The number of characters ReadPos. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the End of the stream is reached.</returns>
7930
        </member>
7931
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.ToByteArray(System.String)">
7932
            <summary>
7933
            Converts a string to an array of bytes
7934
            </summary>
7935
            <param name="sourceString">The string to be converted</param>
7936
            <returns>The new array of bytes</returns>
7937
        </member>
7938
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZLibUtil.ToCharArray(System.Byte[])">
7939
            <summary>
7940
            Converts an array of bytes to an array of chars
7941
            </summary>
7942
            <param name="byteArray">The array of bytes to convert</param>
7943
            <returns>The new array of chars</returns>
7944
        </member>
7945
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZLibUtil.DIST_CODE_LEN">
7946
            <summary>
7947
            see definition of array dist_code below
7948
            </summary>
7949
        </member>
7950
        <member name="T:ComponentAce.Compression.Libs.ZLib.ZStream">
7951
            <summary>
7952
            ZStream is used to store user data to compress/decompress.
7953
            </summary>
7954
        </member>
7955
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream.MAX_MEM_LEVEL">
7956
            <summary>
7957
            Maximum memory level
7958
            </summary>
7959
        </member>
7960
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._next_in">
7961
            <summary>
7962
            Next input byte array
7963
            </summary>
7964
        </member>
7965
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._next_in_index">
7966
            <summary>
7967
            Index of the first byte in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in">input array</see>.
7968
            </summary>
7969
        </member>
7970
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._avail_in">
7971
            <summary>
7972
            Number of bytes available at _next_in
7973
            </summary>
7974
        </member>
7975
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._total_in">
7976
            <summary>
7977
            total nb of input bytes ReadPos so far
7978
            </summary>
7979
        </member>
7980
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._next_out">
7981
            <summary>
7982
            Byte array for the next output block
7983
            </summary>
7984
        </member>
7985
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._next_out_index">
7986
            <summary>
7987
            Index of the first byte in the _next_out array
7988
            </summary>
7989
        </member>
7990
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._avail_out">
7991
            <summary>
7992
            Remaining free space at _next_out
7993
            </summary>
7994
        </member>
7995
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._total_out">
7996
            <summary>
7997
            Total number of bytes in output array
7998
            </summary>
7999
        </member>
8000
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._msg">
8001
            <summary>
8002
            A string to store operation result message (corresponding to result codes)
8003
            </summary>
8004
        </member>
8005
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._dstate">
8006
            <summary>
8007
            A deflate object to perform data compression
8008
            </summary>
8009
        </member>
8010
        <member name="F:ComponentAce.Compression.Libs.ZLib.ZStream._istate">
8011
            <summary>
8012
            Inflate object to perform data decompression
8013
            </summary>
8014
        </member>
8015
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.adler">
8016
            <summary>
8017
            Adler-32 value for uncompressed data processed so far.
8018
            </summary>
8019
        </member>
8020
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.Data_type">
8021
            <summary>
8022
            Best guess about the data type: ascii or binary
8023
            </summary>
8024
        </member>
8025
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in">
8026
            <summary>
8027
            Gets/Sets the next input byte array.
8028
            </summary>
8029
        </member>
8030
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in_index">
8031
            <summary>
8032
            Index of the first byte in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in">input array</see>.
8033
            </summary>
8034
        </member>
8035
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in">
8036
            <summary>
8037
            Gets/Sets the number of bytes available in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in">input buffer</see>.
8038
            </summary>
8039
        </member>
8040
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.total_in">
8041
            <summary>
8042
            Gets/Sets the total number of bytes in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in">input buffer</see>.
8043
            </summary>
8044
        </member>
8045
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out">
8046
            <summary>
8047
            Gets/Sets the buffer for the next output data.
8048
            </summary>
8049
        </member>
8050
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out_index">
8051
            <summary>
8052
            Gets/Sets the index of the first byte in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> byte array to write to.
8053
            </summary>
8054
        </member>
8055
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out">
8056
            <summary>
8057
            Gets/Sets the remaining free space in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> buffer.
8058
            </summary>
8059
        </member>
8060
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.total_out">
8061
            <summary>
8062
            Gets/Sets the total number of bytes in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out">output array</see>.
8063
            </summary>
8064
        </member>
8065
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.msg">
8066
            <summary>
8067
            Gets sets the last error message occurred during class operations.
8068
            </summary>
8069
        </member>
8070
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.dstate">
8071
            <summary>
8072
            A deflate object to perform data compression
8073
            </summary>
8074
        </member>
8075
        <member name="P:ComponentAce.Compression.Libs.ZLib.ZStream.istate">
8076
            <summary>
8077
            Inflate object to perform data decompression
8078
            </summary>
8079
        </member>
8080
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit">
8081
            <summary>
8082
            Initializes the internal stream state for decompression. The fields <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" />, <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> must be 
8083
            initialized before by the caller. If <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> is not <c>null</c> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> is large 
8084
            enough (the exact value depends on the compression method), <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit" /> determines the compression 
8085
            method from the ZLib header and allocates all data structures accordingly; otherwise the allocation will be deferred 
8086
            to the first call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. 
8087
            </summary>
8088
            <returns>
8089
            inflateInit returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_MEM_ERROR" /> if there was not enough memory,  
8090
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_VERSION_ERROR" /> if the ZLib library version is incompatible with the version assumed by the caller. 
8091
            <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.msg" /> is set to <c>null</c> if there is no error message. <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit" /> does not perform any decompression 
8092
            apart from reading the ZLib header if present: this will be done by <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. (So <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> 
8093
            may be modified, but <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> are unchanged.)
8094
            </returns>
8095
        </member>
8096
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit(System.Int32)">
8097
            <summary>
8098
            This is another version of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit" /> with an extra parameter. The fields <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" />, <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> must be 
8099
            initialized before by the caller. If <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> is not <c>null</c> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> is large enough 
8100
            (the exact value depends on the compression method), <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit(System.Int32)" /> determines the compression method from 
8101
            the ZLib header and allocates all data structures accordingly; otherwise the allocation will be deferred to the first 
8102
            call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. 
8103
            </summary>
8104
            <param name="windowBits">The <c>windowBits</c> parameter is the base two logarithm of the maximum window size (the size of the history buffer). 
8105
            It should be in the range <c>8..15</c> for this version of the library. The default value is 15 if <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit(System.Int32)" /> is used instead.
8106
            If a compressed stream with a larger window size is given as input, <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> will return with the error code 
8107
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_DATA_ERROR" /> instead of trying to allocate a larger window.</param>
8108
            <returns>
8109
            inflateInit returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_MEM_ERROR" /> if there was not enough memory,
8110
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if a parameter is invalid (such as a negative memLevel). <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.msg" /> is set to null 
8111
            if there is no error message. <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateInit(System.Int32)" /> does not perform any decompression apart from reading the ZLib header 
8112
            if present: this will be done by <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. (So <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> may be modified, 
8113
            but <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> are unchanged.)
8114
            </returns>
8115
        </member>
8116
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)">
8117
            <summary>
8118
            <para>This method decompresses as much data as possible, and stops when the input buffer (<see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" />) becomes empty or 
8119
            the output buffer (<see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" />) becomes full. It may some introduce some output latency (reading input without producing any output) 
8120
            except when forced to flush. </para>
8121
            <para>The detailed semantics are as follows. <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> performs one or both of the following actions: </para>
8122
            <para>
8123
            <list type="bullet">
8124
            <item>Decompress more input starting at <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> and update <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> 
8125
            accordingly. If not all input can be processed (because there is not enough room in the output buffer), <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> is updated and 
8126
            processing will resume at this point for the next call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. </item>
8127
            <item>Provide more output starting at <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> and update <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> 
8128
            accordingly. <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> provides as much output as possible, until there is no more input data or no more space in 
8129
            the output buffer (see below about the <paramref name="flush" /> parameter).</item>
8130
            </list>
8131
            </para>
8132
            </summary>
8133
            <param name="flush"><see cref="T:ComponentAce.Compression.Libs.ZLib.FlushStrategy">Flush strategy</see> to use.</param>
8134
            <remarks>
8135
            <para>Before the call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />, the application should ensure that at least one of the actions is possible, by providing 
8136
            more input and/or consuming more output, and updating the next_* and avail_* values accordingly. The application can consume the uncompressed 
8137
            output when it wants, for example when the output buffer is full (<c>avail_out == 0</c>), or after each call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. 
8138
            If <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> and with zero <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" />, it must be called again 
8139
            after making room in the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out">output buffer</see> because there might be more output pending. </para>
8140
            <para>If the parameter <paramref name="flush" /> is set to <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_SYNC_FLUSH" />, <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> flushes 
8141
            as much output as possible to the output buffer. The flushing behavior of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> is not specified for values of 
8142
            the <paramref name="flush" /> parameter other than <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_SYNC_FLUSH" /> and <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" />, 
8143
            but the current implementation actually flushes as much output as possible anyway. </para>
8144
            <para><see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> should normally be called until it returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" /> or an error. 
8145
            However if all decompression is to be performed in a single step (a single call of inflate), the parameter <paramref name="flush" /> 
8146
            should be set to <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" />. In this case all pending input is processed and all pending output is flushed; 
8147
            <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> must be large enough to hold all the uncompressed data. (The size of the uncompressed data may have been 
8148
            saved by the compressor for this purpose.) The next operation on this stream must be <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateEnd" /> to deallocate the decompression 
8149
            state. The use of <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" /> is never required, but can be used to inform <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> that a faster 
8150
            routine may be used for the single <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> call. </para>
8151
            <para>If a preset dictionary is needed at this point (see <see cref = "M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateSetDictionary(System.Byte[],System.Int32)" />), <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> sets strm-adler 
8152
            to the adler32 checksum of the dictionary chosen by the compressor and returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_NEED_DICT" />; otherwise it 
8153
            sets strm->adler to the adler32 checksum of all output produced so far (that is, <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.total_out" /> bytes) and returns
8154
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" />, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" /> or an error code as described below. At the end of the stream, 
8155
            <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />) checks that its computed adler32 checksum is equal to that saved by the compressor and returns
8156
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" /> only if the checksum is correct.</para>
8157
            </remarks>
8158
            <returns>
8159
            <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if some progress has been made (more input processed or more output produced), 
8160
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" /> if the end of the compressed data has been reached and all uncompressed output has been produced, 
8161
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_NEED_DICT" /> if a preset dictionary is needed at this point, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_DATA_ERROR" /> if 
8162
            the input data was corrupted (input stream not conforming to the ZLib format or incorrect adler32 checksum), 
8163
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if the stream structure was inconsistent (for example if <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> or 
8164
            <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> was <c>null</c>), <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_MEM_ERROR" /> if there was not enough memory, 
8165
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_BUF_ERROR" /> if no progress is possible or if there was not enough room in the output buffer 
8166
            when <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" /> is used. In the <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_DATA_ERROR" /> case, the application 
8167
            may then call <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateSync" /> to look for a good compression block.
8168
            </returns>
8169
        </member>
8170
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateEnd">
8171
            <summary>
8172
            All dynamically allocated data structures for this stream are freed. This function discards any unprocessed input and does not flush any 
8173
            pending output.
8174
            </summary>
8175
            <returns>
8176
            inflateEnd returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> 
8177
            if the stream state was inconsistent. In the error case, msg may be set but then points to a static string (which must not be deallocated).
8178
            </returns>
8179
        </member>
8180
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateSync">
8181
            <summary>
8182
            Skips invalid compressed data until a full flush point (see the description of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)">deflate with Z_FULL_FLUSH</see>) can be found, 
8183
            or until all available input is skipped. No output is provided.
8184
            </summary>
8185
            <returns>
8186
            <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateSync" /> returns <seec ref="ZLibResultCode.Z_OK" /> if a full flush point has been found, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_BUF_ERROR" />
8187
            if no more input was provided, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_DATA_ERROR" /> if no flush point has been found, or 
8188
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if the stream structure was inconsistent. In the success case, the application may save the current 
8189
            current value of <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.total_in" /> which indicates where valid compressed data was found. In the error case, the application may repeatedly 
8190
            call <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateSync" />, providing more input each time, until success or end of the input data.
8191
            </returns>
8192
        </member>
8193
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateSetDictionary(System.Byte[],System.Int32)">
8194
            <summary>
8195
            Initializes the decompression dictionary from the given uncompressed byte sequence. This function must be called immediately after a call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> if this call returned <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_NEED_DICT" />. The dictionary chosen by the compressor can be determined from the Adler32 value returned by this call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. The compressor and decompresser must use exactly the same dictionary.
8196
            </summary>
8197
            <param name="dictionary">A byte array - a dictionary.</param>
8198
            <param name="dictLength">The length of the dictionary.</param>
8199
            <returns>
8200
            inflateSetDictionary returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if a parameter is invalid (such as <c>null</c> dictionary) or the stream state is inconsistent, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_DATA_ERROR" /> if the given dictionary doesn't match the expected one (incorrect Adler32 value). inflateSetDictionary does not perform any decompression: this will be done by subsequent calls of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />.
8201
            </returns>
8202
        </member>
8203
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32)">
8204
            <summary>
8205
            Initializes the internal stream state for compression. 
8206
            </summary>
8207
            <param name="level">An integer value from 0 to 9 indicating the desired compression level.</param>
8208
            <returns>
8209
            DeflateInit returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_MEM_ERROR" /> if there was not enough memory, 
8210
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if level is not a valid compression level. <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.msg" /> is set to <c>null</c> if there is 
8211
            no error message. <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32)" /> does not perform any compression: this will be done by <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />.
8212
            </returns>
8213
        </member>
8214
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32,System.Int32)">
8215
            <summary>
8216
            Initializes the internal stream state for compression. 
8217
            </summary>
8218
            <param name="level">An integer value from 0 to 9 indicating the desired compression level.</param>
8219
            <param name="bits"> The windowBits parameter is the base two logarithm of the window size (the size of the history buffer). It should be in the 
8220
            range 8..15 for this version of the library. Larger values of this parameter result in better compression at the expense of memory usage. 
8221
            The default value is 15 if DeflateInit is used instead.</param>
8222
            <returns>
8223
            DeflateInit returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_MEM_ERROR" /> if there was not enough memory,
8224
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if level is not a valid compression level. <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.msg" /> is set to <c>null</c> if there 
8225
            is no error message. <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32,System.Int32)" /> does not perform any compression: this will be done by <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />.
8226
            </returns>
8227
        </member>
8228
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)">
8229
            <summary>
8230
            <para>Deflate compresses as much data as possible, and stops when the <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in">input buffer</see> becomes empty or the 
8231
            <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out">output buffer</see> becomes full. It may introduce some output latency (reading input without producing any output) 
8232
            except when forced to flush.</para>
8233
            <para>The detailed semantics are as follows. deflate performs one or both of the following actions:
8234
            <list type="bullet">
8235
            <item>Compress more input starting at <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> and update <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> accordingly. 
8236
            If not all input can be processed (because there is not enough room in the output buffer), <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> 
8237
            are updated and processing will resume at this point for the next call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. </item>
8238
            <item>Provide more output starting at <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> and update <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> and <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> accordingly. 
8239
            This action is forced if the parameter flush is non zero. Forcing flush frequently degrades the compression ratio, so this parameter should 
8240
            be set only when necessary (in interactive applications). Some output may be provided even if flush is not set.</item>
8241
            </list>
8242
            </para>
8243
            </summary>
8244
            <param name="flush">The <see cref="T:ComponentAce.Compression.Libs.ZLib.FlushStrategy">flush strategy</see> to use.</param>
8245
            <remarks>
8246
            <para>
8247
            Before the call of <seec ref="deflate" />, the application should ensure that at least one of the actions is possible, by providing 
8248
            more input and/or consuming more output, and updating <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> or <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> accordingly ; <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> 
8249
            should never be zero before the call. The application can consume the compressed output when it wants, for example when the output buffer is full
8250
            (<c>avail_out == 0</c>), or after each call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. If <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> 
8251
            and with zero <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" />, it must be called again after making room in the output buffer because there might be more output pending. 
8252
            </para>
8253
            <para>
8254
            If the parameter <paramref name="flush"/> is set to <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_SYNC_FLUSH" />, all pending output is flushed to the 
8255
            <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out">output buffer</see> and the output is aligned on a byte boundary, so that the decompressor can get all input 
8256
            data available so far. (In particular <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> is zero after the call if enough output space has been provided before the call.) 
8257
            Flushing may degrade compression for some compression algorithms and so it should be used only when necessary. 
8258
            </para>
8259
            <para>
8260
            If flush is set to <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FULL_FLUSH" />, all output is flushed as with <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_SYNC_FLUSH" />, 
8261
            and the compression state is reset so that decompression can restart from this point if previous compressed data has been damaged or if 
8262
            random access is desired. Using <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FULL_FLUSH" /> too often can seriously degrade the compression.
8263
            </para>
8264
            </remarks>
8265
            <returns>
8266
            <para>
8267
            If deflate returns with <c><see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> == 0</c>, this function must be called again with the same value of the flush
8268
            parameter and more output space (updated <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" />), until the flush is complete (<see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> returns with
8269
            non-zero <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" />). 
8270
            </para>
8271
            <para>
8272
            If the parameter <paramref name="flush"/> is set to <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" />, pending input is processed, pending 
8273
            output is flushed and deflate returns with <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" /> if there was enough output space ; 
8274
            if deflate returns with <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" />, this function must be called again with <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" /> 
8275
            and more output space (updated <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" />) but no more input data, until it returns with <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" /> 
8276
            or an error. After deflate has returned <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" />, the only possible operation on the stream is
8277
            <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflateEnd" />. </para>
8278
            <para>
8279
            <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" /> can be used immediately after <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32)" /> if all the compression is to be 
8280
            done in a single step. In this case, avail_out must be at least 0.1% larger than avail_in plus 12 bytes. If deflate does not return 
8281
            Z_STREAM_END, then it must be called again as described above. 
8282
            </para>
8283
            <para>
8284
            <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> sets strm-> adler to the adler32 checksum of all input read so far (that is, <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.total_in" /> bytes). 
8285
            </para>
8286
            <para>
8287
            <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> may update data_type if it can make a good guess about the input data type (<see cref="T:ComponentAce.Compression.Libs.ZLib.BlockType">Z_ASCII or Z_BINARY</see>).
8288
            In doubt, the data is considered binary. This field is only for information purposes and does not affect the compression algorithm in any manner. 
8289
            </para>
8290
            <para>
8291
            <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if some progress has been made (more input processed or more output produced), 
8292
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_END" /> if all input has been consumed and all output has been produced (only when flush is set to
8293
            <see cref="F:ComponentAce.Compression.Libs.ZLib.FlushStrategy.Z_FINISH" />), <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if the stream state was inconsistent (for example if 
8294
            <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> or <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> was <c>null</c>), <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_BUF_ERROR" /> if no progress is possible
8295
            (for example <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_in" /> or <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> was zero).
8296
            </para>
8297
            </returns>
8298
        </member>
8299
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflateEnd">
8300
            <summary>
8301
            All dynamically allocated data structures for this stream are freed. This function discards any unprocessed input and does not flush any pending 
8302
            output.
8303
            </summary>
8304
            <returns>
8305
            deflateEnd returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if the stream state was inconsistent, 
8306
            <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_DATA_ERROR" /> if the stream was freed prematurely (some input or output was discarded). In the error case, 
8307
            <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.msg" /> may be set but then points to a static string (which must not be deallocated).
8308
            </returns>
8309
        </member>
8310
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflateParams(System.Int32,ComponentAce.Compression.Libs.ZLib.CompressionStrategy)">
8311
            <summary>
8312
            Dynamically update the compression level and compression strategy. The interpretation of level is as in <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32)"/>. 
8313
            This can be used to switch between compression and straight copy of the input data, or to switch to a different kind of input data 
8314
            requiring a different strategy. If the compression level is changed, the input available so far is compressed with the old level 
8315
            (and may be flushed); the new level will take effect only at the next call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />
8316
            </summary>
8317
            <param name="level">An integer value indicating the desired compression level.</param>
8318
            <param name="strategy">A <see cref="T:ComponentAce.Compression.Libs.ZLib.FlushStrategy">flush strategy</see> to use.</param>
8319
            <remarks>
8320
            Before the call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflateParams(System.Int32,ComponentAce.Compression.Libs.ZLib.CompressionStrategy)" />, the stream state must be set as for a call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />, since the 
8321
            currently available input may have to be compressed and flushed. In particular, <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> must be non-zero.
8322
            </remarks>
8323
            <returns>
8324
            deflateParams returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if the source stream 
8325
            state was inconsistent or if a parameter was invalid, <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_BUF_ERROR" /> if <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.avail_out" /> was zero.
8326
            </returns>
8327
        </member>
8328
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflateSetDictionary(System.Byte[],System.Int32)">
8329
            <summary>
8330
            Initializes the compression dictionary from the given byte sequence without producing any compressed output. This function must be called 
8331
            immediately after <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32)" />, before any call of <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. The compressor and decompressor must use 
8332
            exactly the same dictionary (see <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.inflateSetDictionary(System.Byte[],System.Int32)" />).
8333
            </summary>
8334
            <param name="dictionary">A byte array - a dictionary.</param>
8335
            <param name="dictLength">The length of the dictionary byte array</param>
8336
            <remarks>
8337
            <para>
8338
            The dictionary should consist of strings (byte sequences) that are likely to be encountered later in the data to be compressed, 
8339
            with the most commonly used strings preferably put towards the end of the dictionary. Using a dictionary is most useful when the data 
8340
            to be compressed is short and can be predicted with good accuracy; the data can then be compressed better than with the default empty dictionary.
8341
            </para>
8342
            <para>Depending on the size of the compression data structures selected by <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.DeflateInit(System.Int32)" />, a part of the dictionary may 
8343
            in effect be discarded, for example if the dictionary is larger than the window size in <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />. Thus the strings most likely 
8344
            to be useful should be put at the end of the dictionary, not at the front.</para>
8345
            <para>Upon return of this function, adler is set to the Adler32 value of the dictionary; the decompresser may later use this value to determine 
8346
            which dictionary has been used by the compressor. (The Adler32 value applies to the whole dictionary even if only a subset of the dictionary 
8347
            is actually used by the compressor.)</para>
8348
            </remarks>
8349
            <returns>
8350
            deflateSetDictionary returns <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_OK" /> if success, or <see cref="F:ComponentAce.Compression.Libs.ZLib.ZLibResultCode.Z_STREAM_ERROR" /> if a parameter 
8351
            is invalid (such as <c>null</c> dictionary) or the stream state is inconsistent (for example if <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> has already been 
8352
            called for this stream or if the compression method is bsort). <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflateSetDictionary(System.Byte[],System.Int32)" /> does not perform any compression: 
8353
            this will be done by <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" />.
8354
            </returns>
8355
        </member>
8356
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.FlushPending">
8357
            <summary>
8358
            Flush as much pending output as possible. All <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> output goes through this function so some applications may wish to 
8359
            modify it to avoid allocating a large <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_out" /> buffer and copying into it.
8360
            </summary>
8361
            <seealso cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.ReadBuf(System.Byte[],System.Int32,System.Int32)" />
8362
        </member>
8363
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.ReadBuf(System.Byte[],System.Int32,System.Int32)">
8364
            <summary>
8365
            Read a new buffer from the current input stream, update the adler32 and total number of bytes read.  All <see cref="M:ComponentAce.Compression.Libs.ZLib.ZStream.deflate(ComponentAce.Compression.Libs.ZLib.FlushStrategy)" /> input goes 
8366
            through this function so some applications may wish to modify it to avoid allocating a large <see cref="P:ComponentAce.Compression.Libs.ZLib.ZStream.next_in" /> buffer and copying from it.
8367
            </summary>
8368
            <seealso cref="!:flush_pending"/>
8369
        </member>
8370
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStream.free">
8371
            <summary>
8372
            Frees all inner <see cref="T:ComponentAce.Compression.Libs.ZLib.ZStream" /> buffers.
8373
            </summary>
8374
        </member>
8375
        <member name="T:ComponentAce.Compression.Libs.ZLib.ZStreamException">
8376
            <summary>
8377
            Exceptions that occur in ZStream
8378
            </summary>
8379
        </member>
8380
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStreamException.#ctor">
8381
            <summary>
8382
            Default constructor.
8383
            </summary>
8384
        </member>
8385
        <member name="M:ComponentAce.Compression.Libs.ZLib.ZStreamException.#ctor(System.String)">
8386
            <summary>
8387
            Constructor which takes one parameter - an error message
8388
            </summary>
8389
        </member>
8390
    </members>
8391
</doc>