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); }