public AspectMethodWeaver(IAspectDefinitionCollection aspectDefinitions, IWeavingSettings weavingSettings) : base(weavingSettings) { var aspectExpression = new AspectExpressionTreeBuilder(aspectDefinitions, weavingSettings).Build(); MethodEndWeaver = new MethodEndWeaver(); MethodScopeWeaver = aspectExpression.Reduce(AspectWeavingSettingsImpl.Empty); MethodDefintionWeaver = new MethodSignatureWeaver(weavingSettings.TypeDefinition); }
protected AbstractAspectMethodWeaver(MethodInfo method, IAspectDefinitionCollection aspectDefinitions, IAspectWeavingSettings aspectWeavingSettings) { IAspectExpression aspectExpression = null; var aspectExpressionBuilder = new AspectExpressionTreeBuilder(aspectDefinitions); this.method = method; methodEndWeaver = new MethodEndWeaver(); aspectExpression = aspectExpressionBuilder.Build(); methodScopeWeaver = aspectExpression.Reduce(aspectWeavingSettings); }