public override void ProvideAspectTransformations(AspectWeaverTransformationAdder adder)
            {
                LoggingAspectTransformation transformation = ((LoggingAspectWeaver)AspectWeaver).transformation;
                AspectWeaverTransformationInstance transformationInstance = transformation.CreateInstance(this);

                adder.Add(TargetElement, transformationInstance);
            }
            public override void ProvideAspectTransformations(AspectWeaverTransformationAdder adder)
            {
                LoggingAspectTransformation        transformation         = ((LoggingAspectWeaver)AspectWeaver).transformation;
                AspectWeaverTransformationInstance transformationInstance = transformation.CreateInstance(this);

                adder.Add(TargetElement, transformationInstance);
            }
            public override void ProvideAspectTransformations(AspectWeaverTransformationAdder adder)
            {
                var aspectWeaver = (GuardPropertyEqualityAspectWeaver) AspectWeaver;
                var property = (PropertyDeclaration) TargetElement;
                if(aspectWeaver._transformation == null) return;

                adder.Add(property.Setter, aspectWeaver._transformation.CreateInstance(property, this));
            }
            public override void ProvideAspectTransformations(AspectWeaverTransformationAdder adder)
            {
                // Find the MoveNext method.
                TypeDefDeclaration   targetType     = (TypeDefDeclaration)this.aspectInstanceInfo.TargetElement;
                MethodDefDeclaration moveNextMethod = targetType.Methods.Single <MethodDefDeclaration>(m => m.Name.EndsWith("MoveNext"));

                adder.Add(moveNextMethod, this.parent.moveNextTransformation.CreateInstance(this));
            }
 public override void ProvideAspectTransformations(AspectWeaverTransformationAdder adder)
 {
 }
 public override void ProvideAspectTransformations(AspectWeaverTransformationAdder adder)
 {
     adder.Add(this.TargetElement, this.parent.transformation.CreateInstance(this));
 }
 public override void ProvideAspectTransformations( AspectWeaverTransformationAdder adder )
 {
     adder.Add( this.TargetElement, this.parent.transformation.CreateInstance(this) );
 }
 public override void ProvideAspectTransformations(AspectWeaverTransformationAdder adder)
 {
     var type = this.TargetElement as IType;
     if(type == null) return;
     var aspectWeaver = _concreteAspectWeaver;
     adder.Add(type, aspectWeaver._transformation.CreateInstance(type, this));
 }
 public override void ProvideTransformations(AspectWeaverInstance aspectWeaverInstance, AspectWeaverTransformationAdder adder)
 {
     if (_enhanceSetterTransformationOptions == null || !_enhanceSetterTransformationOptions.ShouldTransform()) return;
     var type = aspectWeaverInstance.TargetElement as IType;
     if (type == null) return;
     var typeDef = type.GetTypeDefinition();
     //Get all non-static properties declared on this type
     var method = typeDef.GetMethodsBySignature(_enhanceSetterTransformationOptions.Signatures);
     var properties =
         from property in typeDef.Properties
         where property.CanWrite
               && property.CanRead
               && !property.IsStatic
               && property.DeclaringType != null
               && property.DeclaringType.Equals(typeDef)
         select property;
     foreach (var property in properties) {
         var txContext = new EnhanceSetterTransformationContext(property, _enhanceSetterTransformationOptions);
         //TODO: If NoChangeNotification attribute is specified then skip this transformation
         adder.Add(property.Setter,
                 _enhancePropertySetterMethodBodyTransformation.CreateInstance(txContext, aspectWeaverInstance));
     }
 }