コード例 #1
0
        internal MethodInvokerAspectWeaver(Type previousAspectArgsType, IAspectDefinition aspectDefinition, IAspectWeavingSettings aspectWeavingSettings, IArgumentsWeavingSettings argumentsWeavingSettings)
            : base(aspectWeavingSettings.WeavingSettings)
        {
            var methodInfoImpl = aspectWeavingSettings.WeavingSettings.MethodInfoImpl;

            this.previousAspectArgsType   = previousAspectArgsType;
            this.argumentsWeavingSettings = argumentsWeavingSettings;
            localBuilderRepository        = aspectWeavingSettings.LocalBuilderRepository;
            byRefArgumentStoreWeaver      = new MethodInvokerByRefArgumentsWeaver(previousAspectArgsType, methodInfoImpl, localBuilderRepository);
            argumentsWeaver = new MethodInvokerArgumentsWeaver(previousAspectArgsType, aspectWeavingSettings, argumentsWeavingSettings, byRefArgumentStoreWeaver);
        }
コード例 #2
0
        internal MethodDecoratorScopeWeaver(IAspectWeavingSettings aspectWeavingSettings)
            : base(aspectWeavingSettings.WeavingSettings)
        {
            Type aspectArgumentContract = null;
            var  localBuilderRepository = aspectWeavingSettings.LocalBuilderRepository;
            var  weavingSettings        = aspectWeavingSettings.WeavingSettings;

            this.aspectWeavingSettings = aspectWeavingSettings;
            methodInfoImpl             = aspectWeavingSettings.WeavingSettings.MethodInfoImpl;
            aspectArgumentContract     = methodInfoImpl.ToAspectArgumentContract();
            byRefArgumentsStoreWeaver  = new MethodDecoratorByRefArgumentsStoreWeaver(aspectArgumentContract, methodInfoImpl, localBuilderRepository);
            argumentsWeaver            = new MethodDecoratorArgumentsWeaver(methodInfoImpl, byRefArgumentsStoreWeaver);
        }
コード例 #3
0
 internal MethodDecoratorArgumentsWeaver(MethodInfo methodInfoImpl, ICanEmitLocalBuilderByRefArgumentsWeaver byRefArgumentsStoreWeaver)
 {
     this.methodInfoImpl            = methodInfoImpl;
     this.byRefArgumentsStoreWeaver = byRefArgumentsStoreWeaver;
 }
コード例 #4
0
 internal MethodInvokerArgumentsWeaver(Type previousAspectArgType, IAspectWeavingSettings aspectWeavingSettings, IArgumentsWeavingSettings argumentWeavingSettings, ICanEmitLocalBuilderByRefArgumentsWeaver byRefArgumentsStoreWeaver)
     : base(argumentWeavingSettings, aspectWeavingSettings)
 {
     this.previousAspectArgType    = previousAspectArgType;
     this.byRefArgumentStoreWeaver = byRefArgumentsStoreWeaver;
 }