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