So now I get this from peverify

ClassWithBeforeAfterImplementation::set_Property1][offset 0x0000000F]
Unrecognized local variable number.


On Mon, Oct 11, 2010 at 10:24 PM, Jb Evain <[email protected]> wrote:
> Hi Simon,
>
> Running peverify on your assembly says:
>
> [IL]: Error: [C:\Users\jbevain\Downloads\AssemblyExperiments.dll : 
> AssemblyExper
> iments.ClassWithBeforeAfterImplementation::set_Property1][offset 0x0000000E] 
> ini
> tlocals must be set for verifiable methods with one or more local variables.
> 1 Error(s) Verifying AssemblyExperiments.dll
>
> I suggest then that you do:
>
> On Mon, Oct 11, 2010 at 1:07 PM, Simon Cropp <[email protected]> wrote:
>>        private void AddBeforeAfrerInvokerCall(PropertyDefinition
>> property, MethodBody setMethodBody)
>>        {
>>            var beforeVariable = new
>> VariableDefinition(MsCoreReferenceFinder.ObjectTypeReference);
>
>              setMethodBody.InitLocals = true;
>
>>            setMethodBody.Variables.Add(beforeVariable);
>>
>>            cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldarg_0));
>>            cilWorker.InsertBefore(last,
>> cilWorker.Create(OpCodes.Call, property.GetMethod));
>>            cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Stloc_0));
>>            cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldarg_0));
>>            cilWorker.InsertBefore(last,
>> cilWorker.Create(OpCodes.Ldstr, property.Name));
>>            cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldloc_0));
>>            cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldloc_1));
>>            cilWorker.InsertBefore(last,
>> cilWorker.Create(OpCodes.Call,
>> OnPropertyChangedReference.MethodReference));
>>            cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Nop));
>>        }
>
> --
> Jb Evain  <[email protected]>
>
> --
> --
> mono-cecil

-- 
--
mono-cecil

Attachment: AssemblyExperiments.dll
Description: Binary data

Reply via email to