C# Класс Stiletto.Fody.Generators.LoaderGenerator

Наследование: Generator
Показать файл Открыть проект

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

Метод Описание
Generate ( IErrorReporter errorReporter ) : Mono.Cecil.TypeDefinition

Generates an ILoader implementation that provides the given inject bindings, lazy bindings, provider bindings, and modules, at runtime.

The idea here is that we have a key and constructor methodref for all generated types; we can just wrap each methodref in a so-called factory function and maintain dictionaries of keys to factory Funcs; at runtime, either the proper Func is looked up and returned or the lookup fails null is returned, passing the job off to other loaders.

GetKeyedCtor ( ) : KeyedCtor
LoaderGenerator ( Mono.Cecil.ModuleDefinition moduleDefinition, References references, IEnumerable injectBindingCtors, IEnumerable lazyBindingCtors, IEnumerable providerBindingCtors, MethodReference>.IEnumerable runtimeModuleCtors ) : System
Validate ( IErrorReporter errorReporter ) : void

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

Метод Описание
AddFactoryToDict ( Mono.Cecil.Cil.ILProcessor il, string key, MethodReference factory, FieldReference field, MethodReference fnCtor, MethodReference addFn ) : void
EmitCtor ( ) : void
EmitGetIProviderInjectBinding ( ) : void
EmitGetInjectBinding ( ) : void
EmitGetLazyInjectBinding ( ) : void
EmitGetRuntimeModule ( ) : void
EmitInjectFactory ( MethodReference ctor ) : Mono.Cecil.MethodDefinition
EmitLazyFactory ( MethodReference ctor ) : Mono.Cecil.MethodDefinition
EmitModuleFactory ( MethodReference ctor ) : Mono.Cecil.MethodDefinition
EmitProviderFactory ( MethodReference ctor ) : Mono.Cecil.MethodDefinition
GetFnMethods ( TypeReference tFn ) : Tuple

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

Generate() публичный Метод

Generates an ILoader implementation that provides the given inject bindings, lazy bindings, provider bindings, and modules, at runtime.
The idea here is that we have a key and constructor methodref for all generated types; we can just wrap each methodref in a so-called factory function and maintain dictionaries of keys to factory Funcs; at runtime, either the proper Func is looked up and returned or the lookup fails null is returned, passing the job off to other loaders.
public Generate ( IErrorReporter errorReporter ) : Mono.Cecil.TypeDefinition
errorReporter IErrorReporter
Результат Mono.Cecil.TypeDefinition

GetKeyedCtor() публичный Метод

public GetKeyedCtor ( ) : KeyedCtor
Результат KeyedCtor

LoaderGenerator() публичный Метод

public LoaderGenerator ( Mono.Cecil.ModuleDefinition moduleDefinition, References references, IEnumerable injectBindingCtors, IEnumerable lazyBindingCtors, IEnumerable providerBindingCtors, MethodReference>.IEnumerable runtimeModuleCtors ) : System
moduleDefinition Mono.Cecil.ModuleDefinition
references References
injectBindingCtors IEnumerable
lazyBindingCtors IEnumerable
providerBindingCtors IEnumerable
runtimeModuleCtors MethodReference>.IEnumerable
Результат System

Validate() публичный Метод

public Validate ( IErrorReporter errorReporter ) : void
errorReporter IErrorReporter
Результат void