C# (CSharp) Microsoft.Scripting.Runtime Namespace

Classes

Name Description
ArgumentArray Wraps all arguments passed to a dynamic site with more arguments than can be accepted by a Func/Action delegate. The binder generating a rule for such a site should unwrap the arguments first and then perform a binding to them.
BindingRestrictionsHelpers
Cast Implements explicit casts supported by the runtime.
CodeDomCodeGen
DelegateInfo Used as the value for the ScriptingRuntimeHelpers.GetDelegate method caching system
DelegateSignatureInfo Used as the key for the LanguageContext.GetDelegate method caching system
DictionaryExpandoMetaObject
DlrConfiguration
DocumentationAttribute
DynamicDelegateCreator Provides support for converting objects to delegates using the DLR binders available by the provided language context. Primarily this supports converting objects implementing IDynamicMetaObjectProvider to the appropriate delegate type. If the provided object is already a delegate of the appropriate type then the delegate will simply be returned.
DynamicOperations
DynamicXamlReader Provides services for loading XAML and binding events to dynamic language code definitions.
DynamicXamlReader.DynamicWriter
DynamicXamlReader.DynamicWriter.DynamicEventInvoker
DynamicXamlReader.DynamicWriter.DynamicEventMember
ExceptionHelpers
ExtensionTypeAttribute
LanguageConfiguration Singleton for each language.
LegacyScriptCode
LightExceptions Provides support for light exceptions. These exceptions are propagated by returning an instance of a private wrapper class containing the exception. Code which is aware of light exceptions will branch to apporiate exception handling blocks when in a try and otherwise return the value up the stack. This avoids using the underlying CLR exception mechanism with overhead such as creating stack traces. When a light exception reaches the boundary of code which is not light exception aware the caller must check to see if a light exception is being thrown and if so raise a .NET exception. This class provides methods for re-writing expression trees to support light exceptions, methods to create light throw objects, check if an object is a light throw object, and turn such an object back into a .NET Exception which can be thrown. Light exceptions also don't build up stack traces or interoperate with filter blocks via 2-pass exception handling.
LightExceptions.LightException Sealed wrapper class to indicate something is a light exception.
ObjectDictionaryExpando Wraps a an IDictionary[object, object] and exposes it as an IDynamicMetaObjectProvider so that users can access string attributes using member accesses.
PositionTrackingWriter Efficiently tracks (line,column) information as text is added, and collects line mappings between the original and generated source code so we can generate correct debugging information later
ReflectionCache Provides a cache of reflection members. Only one set of values is ever handed out per a specific request.
ReflectionCache.MethodBaseCache
RestrictedMetaObject
Scope Represents a context of execution. A context of execution has a set of variables associated with it (its dictionary) and a parent context. When looking up a name from a context first the local context is searched. If the name is not found there the name lookup will be done against the parent context. Scopes, like IAttrbibuteCollections, support both being indexed by SymbolId for fast access as well as being indexed by object. The preferred access is via SymbolId and object access is provided for languages which require additional semantics. All features supported for feature IDs are also supported for objects (e.g. context-sentsitivity and attributes) but the object API does not contain all the same sets of overloads provided for convenience. TODO: Thread safety
Scope.MetaScope
SharedIO
SharedIO.StreamProxy
StringDictionaryExpando Exposes a IDictionary[string, object] as a dynamic object. Gets/sets/deletes turn into accesses on the underlying dictionary.
TokenizerBuffer