public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var bindingWeaver = propertyBuilder.Build(aspectWeavingSettings); var clonedSettings = aspectWeavingSettings.CloneWith(settings => { settings.LocalBuilderRepository = new LocalBuilderRepository(); }); return(CreateWeaver(clonedSettings, bindingWeaver.WeavedType)); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var bindingWeaver = propertyBuilder.Build(aspectWeavingSettings); var clonedSettings = aspectWeavingSettings.CloneWith(settings => { settings.LocalBuilderRepository = new LocalBuilderRepository(); }); return CreateWeaver(clonedSettings, bindingWeaver.WeavedType); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var clonedSettings = aspectWeavingSettings.CloneWith(settings => { settings.ByRefArgumentsStoreWeaver = NullObjectByRefArgumentsStoreWeaver.Empty; }); var nestedWeaver = aspectExpression.Reduce(clonedSettings); return(new BindingOnMethodBoundaryAspectWeaver(nestedWeaver, aspectDefinition, clonedSettings)); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var clonedAspectWeavingSettings = aspectWeavingSettings.CloneWith(settings => { settings.LocalBuilderRepository = new LocalBuilderRepository(); }); var bindingWeaver = new IsolatedGetPropertyInterceptionBindingWeaver(aspectExpression, aspectDefinition, clonedAspectWeavingSettings); return(new TopGetPropertyInterceptionAspectWeaver(aspectDefinition, clonedAspectWeavingSettings, bindingWeaver.WeavedType)); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var clonedAspectWeavingSettings = aspectWeavingSettings.CloneWith(settings => { settings.LocalBuilderRepository = new LocalBuilderRepository(); }); var bindingWeaver = new IsolatedSetPropertyInterceptionBindingWeaver(aspectExpression, aspectDefinition, clonedAspectWeavingSettings); return new BindingSetPropertyInterceptionAspectWeaver(aspectDefinition, aspectWeavingSettings, bindingWeaver.WeavedType); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var topBindingArgType = aspectDefinition.ToAspectArgumentImpl(); var clonedSettings = aspectWeavingSettings.CloneWith(settings => { settings.ByRefArgumentsStoreWeaver = new BindingByRefArgumentsWeaverImpl(topBindingArgType, aspectDefinition.Member, settings.LocalBuilderRepository); }); var nestedWeaver = aspectExpression.Reduce(clonedSettings); return new TopBindingOnMethodBoundaryAspectWeaver(nestedWeaver, aspectDefinition, clonedSettings); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var topBindingArgType = aspectDefinition.ToAspectArgumentImpl(); var clonedSettings = aspectWeavingSettings.CloneWith(settings => { settings.ByRefArgumentsStoreWeaver = new BindingByRefArgumentsWeaverImpl(topBindingArgType, aspectDefinition.Member, settings.LocalBuilderRepository); }); var nestedWeaver = aspectExpression.Reduce(clonedSettings); return(new TopBindingOnMethodBoundaryAspectWeaver(nestedWeaver, aspectDefinition, clonedSettings)); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var topAspectInScopeArgType = topAspectInScopeDefinition.ToAspectArgumentImpl(); var clonedSettings = aspectWeavingSettings.CloneWith(settings => { settings.ByRefArgumentsStoreWeaver = NullObjectByRefArgumentsStoreWeaver.Empty; }); var nestedWeaver = aspectExpression.Reduce(clonedSettings); return new BindingOnMethodBoundaryAspectWeaver(topAspectInScopeArgType, nestedWeaver, aspectDefinition, clonedSettings); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var clonedAspectWeavingSettings = aspectWeavingSettings.CloneWith(settings => { var localBuilderRepository = new LocalBuilderRepository(); var aspectArgumentImplType = aspectDefinition.ToAspectArgumentImpl(); settings.LocalBuilderRepository = localBuilderRepository; settings.ByRefArgumentsStoreWeaver = new TopAspectByRefArgumentsStoreWeaver(aspectArgumentImplType, aspectDefinition.Member, localBuilderRepository); }); var nestedWeaver = aspectExpression.Reduce(clonedAspectWeavingSettings); return new TopOnMethodBoundaryAspectWeaver(nestedWeaver, aspectDefinition, clonedAspectWeavingSettings); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var clonedAspectWeavingSettings = aspectWeavingSettings.CloneWith(settings => { var localBuilderRepository = new LocalBuilderRepository(); var aspectArgumentImplType = aspectDefinition.ToAspectArgumentImpl(); settings.LocalBuilderRepository = localBuilderRepository; settings.ByRefArgumentsStoreWeaver = new TopAspectByRefArgumentsStoreWeaver(aspectArgumentImplType, aspectDefinition.Member, localBuilderRepository); }); var bindingWeaver = new IsolatedMethodInterceptionBindingWeaver(aspectExpression, aspectDefinition, clonedAspectWeavingSettings); return(new TopMethodInterceptionAspectWeaver(aspectDefinition, clonedAspectWeavingSettings, bindingWeaver.WeavedType)); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var clonedAspectWeavingSettings = aspectWeavingSettings.CloneWith(settings => { var localBuilderRepository = new LocalBuilderRepository(); var aspectArgumentImplType = aspectDefinition.ToAspectArgumentImpl(); settings.LocalBuilderRepository = localBuilderRepository; settings.ByRefArgumentsStoreWeaver = new TopAspectByRefArgumentsStoreWeaver(aspectArgumentImplType, aspectDefinition.Member, localBuilderRepository); }); var bindingWeaver = new IsolatedMethodInterceptionBindingWeaver(aspectExpression, aspectDefinition, clonedAspectWeavingSettings); return new TopMethodInterceptionAspectWeaver(aspectDefinition, clonedAspectWeavingSettings, bindingWeaver.WeavedType); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var clonedAspectWeavingSettings = aspectWeavingSettings.CloneWith(settings => { var localBuilderRepository = new LocalBuilderRepository(); var aspectArgumentImplType = aspectDefinition.ToAspectArgumentImpl(); settings.LocalBuilderRepository = localBuilderRepository; settings.ByRefArgumentsStoreWeaver = new TopAspectByRefArgumentsStoreWeaver(aspectArgumentImplType, aspectDefinition.Member, localBuilderRepository); }); var nestedWeaver = aspectExpression.Reduce(clonedAspectWeavingSettings); return(new TopOnMethodBoundaryAspectWeaver(nestedWeaver, aspectDefinition, clonedAspectWeavingSettings)); }
protected override IAspectWeavingSettings GetAspectsWeavingSettings() { return(aspectWeavingSettings.CloneWith(settings => { settings.LocalBuilderRepository = new LocalBuilderRepository(); })); }