C# Класс Microsoft.Cci.MutableContracts.IteratorContracts

This entire class (file) should go away when iterators are always decompiled. But if they aren't then this class finds the MoveNext method and gets any contracts that the original iterator method had, but which the compiler put into the first state of the MoveNext state machine.
Показать файл Открыть проект

Открытые методы

Метод Описание
FindClosureGetEnumerator ( IMetadataHost host, INestedTypeDefinition closureClass ) : ISourceMethodBody

FindClosureMoveNext ( IMetadataHost host, ISourceMethodBody possibleIterator ) : IMethodBody

For an iterator method, find the closure class' MoveNext method and return its body.

GetMethodContractFromMoveNext ( IContractAwareHost host, ContractExtractor extractor, ISourceMethodBody iteratorMethodBody, ISourceMethodBody moveNextBody, PdbReader pdbReader ) : MethodContract

Приватные методы

Метод Описание
FirstStatementIsIteratorCreation ( IMetadataHost host, ISourceMethodBody possibleIterator, INameTable nameTable, IStatement statement ) : IMethodBody
GetICreateObjectInstance ( IStatement statement ) : ICreateObjectInstance

Описание методов

FindClosureGetEnumerator() публичный статический Метод

public static FindClosureGetEnumerator ( IMetadataHost host, INestedTypeDefinition closureClass ) : ISourceMethodBody
host IMetadataHost
closureClass INestedTypeDefinition
Результат ISourceMethodBody

FindClosureMoveNext() публичный статический Метод

For an iterator method, find the closure class' MoveNext method and return its body.
public static FindClosureMoveNext ( IMetadataHost host, ISourceMethodBody possibleIterator ) : IMethodBody
host IMetadataHost
possibleIterator ISourceMethodBody The (potential) iterator method.
Результат IMethodBody

GetMethodContractFromMoveNext() публичный статический Метод

public static GetMethodContractFromMoveNext ( IContractAwareHost host, ContractExtractor extractor, ISourceMethodBody iteratorMethodBody, ISourceMethodBody moveNextBody, PdbReader pdbReader ) : MethodContract
host IContractAwareHost
extractor ContractExtractor
iteratorMethodBody ISourceMethodBody
moveNextBody ISourceMethodBody
pdbReader PdbReader
Результат MethodContract