C# Class Microsoft.Cci.AggregatingLocalScopeProvider

Inheritance: ILocalScopeProvider, IDisposable
Show file Open project: visualmutator/visualmutator Class Usage Examples

Public Methods

Method Description
AggregatingLocalScopeProvider ( ILocalScopeProvider>.Dictionary unit2ProviderMap ) : System

Uses the given dictionary to find the appropriate provider for a query.

AggregatingLocalScopeProvider ( ILocalScopeProvider>.IDictionary unit2ProviderMap ) : System

Copies the contents of the table

Dispose ( ) : void

Calls Dispose on all aggregated providers.

GetConstantsInScope ( ILocalScope scope ) : IEnumerable

Returns zero or more local constant definitions that are local to the given scope.

GetIteratorScopes ( IMethodBody methodBody ) : IEnumerable

Returns zero or more local (block) scopes, each defining an IL range in which an iterator local is defined. The scopes are returned by the MoveNext method of the object returned by the iterator method. The index of the scope corresponds to the index of the local. Specifically local scope i corresponds to the local stored in field <localName>x_i of the class used to store the local values in between calls to MoveNext.

GetLocalScopes ( IMethodBody methodBody ) : IEnumerable

Returns zero or more local (block) scopes into which the CLR IL operations in the given method body is organized.

GetNamespaceScopes ( IMethodBody methodBody ) : IEnumerable

Returns zero or more namespace scopes into which the namespace type containing the given method body has been nested. These scopes determine how simple names are looked up inside the method body. There is a separate scope for each dotted component in the namespace type name. For istance namespace type x.y.z will have two namespace scopes, the first is for the x and the second is for the y.

GetSynchronizationInformation ( IMethodBody methodBody ) : ISynchronizationInformation

If the given method body is the "MoveNext" method of the state class of an asynchronous method, the returned object describes where synchronization points occur in the IL operations of the "MoveNext" method. Otherwise the result is null.

GetVariablesInScope ( ILocalScope scope ) : IEnumerable

Returns zero or more local variable definitions that are local to the given scope.

IsIterator ( IMethodBody methodBody ) : bool

Returns true if the method body is an iterator.

Private Methods

Method Description
Close ( ) : void
GetProvider ( IILLocation mbLocation ) : ILocalScopeProvider
GetProvider ( ILocalDefinition localDefinition ) : ILocalScopeProvider
GetProvider ( IMethodDefinition methodDefinition ) : ILocalScopeProvider

Method Details

AggregatingLocalScopeProvider() public method

Uses the given dictionary to find the appropriate provider for a query.
public AggregatingLocalScopeProvider ( ILocalScopeProvider>.Dictionary unit2ProviderMap ) : System
unit2ProviderMap ILocalScopeProvider>.Dictionary
return System

AggregatingLocalScopeProvider() public method

Copies the contents of the table
public AggregatingLocalScopeProvider ( ILocalScopeProvider>.IDictionary unit2ProviderMap ) : System
unit2ProviderMap ILocalScopeProvider>.IDictionary
return System

Dispose() public method

Calls Dispose on all aggregated providers.
public Dispose ( ) : void
return void

GetConstantsInScope() public method

Returns zero or more local constant definitions that are local to the given scope.
public GetConstantsInScope ( ILocalScope scope ) : IEnumerable
scope ILocalScope
return IEnumerable

GetIteratorScopes() public method

Returns zero or more local (block) scopes, each defining an IL range in which an iterator local is defined. The scopes are returned by the MoveNext method of the object returned by the iterator method. The index of the scope corresponds to the index of the local. Specifically local scope i corresponds to the local stored in field <localName>x_i of the class used to store the local values in between calls to MoveNext.
public GetIteratorScopes ( IMethodBody methodBody ) : IEnumerable
methodBody IMethodBody
return IEnumerable

GetLocalScopes() public method

Returns zero or more local (block) scopes into which the CLR IL operations in the given method body is organized.
public GetLocalScopes ( IMethodBody methodBody ) : IEnumerable
methodBody IMethodBody
return IEnumerable

GetNamespaceScopes() public method

Returns zero or more namespace scopes into which the namespace type containing the given method body has been nested. These scopes determine how simple names are looked up inside the method body. There is a separate scope for each dotted component in the namespace type name. For istance namespace type x.y.z will have two namespace scopes, the first is for the x and the second is for the y.
public GetNamespaceScopes ( IMethodBody methodBody ) : IEnumerable
methodBody IMethodBody
return IEnumerable

GetSynchronizationInformation() public method

If the given method body is the "MoveNext" method of the state class of an asynchronous method, the returned object describes where synchronization points occur in the IL operations of the "MoveNext" method. Otherwise the result is null.
public GetSynchronizationInformation ( IMethodBody methodBody ) : ISynchronizationInformation
methodBody IMethodBody
return ISynchronizationInformation

GetVariablesInScope() public method

Returns zero or more local variable definitions that are local to the given scope.
public GetVariablesInScope ( ILocalScope scope ) : IEnumerable
scope ILocalScope
return IEnumerable

IsIterator() public method

Returns true if the method body is an iterator.
public IsIterator ( IMethodBody methodBody ) : bool
methodBody IMethodBody
return bool