C# 클래스 Stiletto.Fody.Generators.LoaderGenerator

상속: Generator
파일 보기 프로젝트 열기: benjamin-bader/stiletto

공개 메소드들

메소드 설명
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