internal BindingAspectDecoratorWeaver(IAspectDefinition aspectDefinition, IAspectWeavingSettings aspectWeavingSettings, IArgumentsWeavingSettings argumentsWeavingSettings) : base(aspectWeavingSettings.WeavingSettings) { var bindingSettings = aspectDefinition.ToBindingSettings(); var methodInfoImpl = aspectWeavingSettings.WeavingSettings.MethodInfoImpl; lazyWeavedType = new Core.Lib.Lazy <FieldInfo>(WeaveType); bindingSettings.LocalBuilderRepository = aspectWeavingSettings.LocalBuilderRepository; methodDecoratorScopeWeaver = new MethodDecoratorScopeWeaver(aspectWeavingSettings); weaver = new MethodDecoratorBindingWeaver(bindingSettings, aspectWeavingSettings, this); }
internal AbstractAspectWeaver(IAspectDefinition aspectDefinition, IAspectWeavingSettings aspectWeavingSettings) { advices = aspectDefinition.Advices; this.aspectDefinition = aspectDefinition; this.aspectWeavingSettings = aspectWeavingSettings; bindingSettings = aspectDefinition.ToBindingSettings(); weavingSettings = aspectWeavingSettings.WeavingSettings; aspectRepository = aspectWeavingSettings.AspectRepository; argumentsWeavingSettings = aspectDefinition.ToArgumentsWeavingSettings(); aspectDefinition.Advices.ForEach(advice => advice.Accept(adviceDiscoveryVistor)); }
internal static ArgumentsWeavingSettings ToArgumentsWeavingSettings(this IAspectDefinition aspectDefinition) { return(aspectDefinition.ToBindingSettings() .ToArgumentsWeavingSettings(aspectDefinition.Aspect.AspectType)); }
internal AbstractBindingAspectWeaver(IAspectDefinition aspectDefinition) { this.aspectDefinition = aspectDefinition; bindingSettings = aspectDefinition.ToBindingSettings(); }
internal BindingAspectDecoratorExpression(IAspectDefinition aspectDefinition, IArgumentsWeavingSettings argumentsWeavingSettings) { this.aspectDefinition = aspectDefinition; bindingSettings = aspectDefinition.ToBindingSettings(); this.argumentsWeavingSettings = argumentsWeavingSettings; }