public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var topAspectInScopeArgType = topAspectInScopeDefinition.ToAspectArgumentImpl(); var bindingWeaver = new IsolatedMethodInterceptionBindingWeaver(aspectExpression, aspectDefinition, aspectWeavingSettings); return(new NestedMethodInterceptionAspectWeaver(topAspectInScopeArgType, aspectDefinition, aspectWeavingSettings, bindingWeaver.WeavedType)); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var topAspectInScopeArgType = topAspectInScopeDefinition.ToAspectArgumentImpl(); var bindingWeaver = new IsolatedMethodInterceptionBindingWeaver(aspectExpression, aspectDefinition, aspectWeavingSettings); return new NestedMethodInterceptionAspectWeaver(topAspectInScopeArgType, aspectDefinition, aspectWeavingSettings, 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 bindingWeaver = new IsolatedMethodInterceptionBindingWeaver(aspectExpression, aspectDefinition, clonedAspectWeavingSettings); return new TopMethodInterceptionAspectWeaver(aspectDefinition, clonedAspectWeavingSettings, bindingWeaver.WeavedType); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var bindingWeaver = new IsolatedMethodInterceptionBindingWeaver(aspectExpression, aspectDefinition, aspectWeavingSettings); return(new BindingMethodInterceptionAspectWeaver(aspectDefinition, aspectWeavingSettings, bindingWeaver.WeavedType)); }
public override IAspectWeaver Reduce(IAspectWeavingSettings aspectWeavingSettings) { var bindingWeaver = new IsolatedMethodInterceptionBindingWeaver(aspectExpression, aspectDefinition, aspectWeavingSettings); return new TopBindingMethodInterceptionAspectWeaver(aspectDefinition, aspectWeavingSettings, bindingWeaver.WeavedType); }