C# Class Stiletto.Fody.ModuleWeaver

Show file Open project: benjamin-bader/stiletto Class Usage Examples

Public Methods

Method Description
EnqueueBaseTypeBinding ( TypeReference typeReference ) : bool
Execute ( ) : void

The entry point when invoked as part of the Fody pipeline.

The workflow here is: Verify that the module is processable Validate that injectable types and modules are individually valid as declared Validate the object graph that they represent, i.e. that complete modules have no unsatisfied dependencies Generate binding and module adapters Generate an ILoader implementation containing the generated adapters Rewrite all Container.Create invocations in the module with Container.CreateWithLoaders invocations, using the generated loader.

ModuleWeaver ( ) : System

Private Methods

Method Description
AddModuleToAssemblyDictionary ( Mono.Cecil.ModuleDefinition module, ModuleProcessor moduleProcessor ) : void
BaseResolverOnResolveFailure ( object sender, Mono.Cecil.AssemblyNameReference reference ) : AssemblyDefinition
GatherModulesNeedingProcessing ( ) : IList
GetModuleKey ( Mono.Cecil.ModuleDefinition moduleDefinition ) : string
Initialize ( ) : void

Prepares the weaving environment.

IsModuleProcessable ( Mono.Cecil.ModuleDefinition module ) : bool

Checks the current module for the presence of a marker attribute. If the attribute is present, then the current module has already been processed by this weaver, and processing should halt.

ValidateCompleteGraph ( IList processors ) : void

Method Details

EnqueueBaseTypeBinding() public method

public EnqueueBaseTypeBinding ( TypeReference typeReference ) : bool
typeReference Mono.Cecil.TypeReference
return bool

Execute() public method

The entry point when invoked as part of the Fody pipeline.
The workflow here is: Verify that the module is processable Validate that injectable types and modules are individually valid as declared Validate the object graph that they represent, i.e. that complete modules have no unsatisfied dependencies Generate binding and module adapters Generate an ILoader implementation containing the generated adapters Rewrite all Container.Create invocations in the module with Container.CreateWithLoaders invocations, using the generated loader.
public Execute ( ) : void
return void

ModuleWeaver() public method

public ModuleWeaver ( ) : System
return System