NCop.Aspects.Weaving.TryFinallyAspectWeaver.Weave C# (CSharp) Method

Weave() public method

public Weave ( ILGenerator ilGenerator ) : void
ilGenerator System.Reflection.Emit.ILGenerator
return void
        public virtual void Weave(ILGenerator ilGenerator)
        {
            MethodScopeWeaversQueue methodScopeWeaversQueue = null;

            weavers.Add(new BeginExceptionBlockMethodScopeWeaver());
            weavers.AddRange(tryWeavers);
            weavers.Add(new FinallyMethodScopeWeaver(finallyWeavers));
            weavers.Add(new EndExceptionBlockMethodScopeWeaver());

            if (returnValueWeaver.IsNotNull()) {
                weavers.Add(returnValueWeaver);
            }

            methodScopeWeaversQueue = new MethodScopeWeaversQueue(weavers);
            methodScopeWeaversQueue.Weave(ilGenerator);
        }
TryFinallyAspectWeaver