This makes sense, I'll give that a try.

Thanks,
Jason

On Aug 17, 2:15 am, Jb Evain <[email protected]> wrote:
> Hi Jason,
>
> On Tue, Aug 16, 2011 at 8:45 PM, JasonBock <[email protected]> wrote:
> > Let's say I have the following expression:
>
> > var x = SomeMethod();
>
> > That line consists of at least two instructions: a call and a stloc
> > (more or less). The point is, a user can put a breakpoint on the whole
> > line and that works.
>
> > I have a similar case where I'm creating a number of instructions that
> > all relate to the same section in code. Do I just create one
> > SequencePoint object and assign that to each Instruction I create? Or
> > is there a different way? I couldn't figure out it via the groups or
> > docs and I'd rather know upfront before I dive too far into it :).
>
> let say you have:
>
> line 1: var x = this.SomeMethod();
> line 2: var y = this.SomeOtherMethod();
>
> This gets compiled as:
>
> ldarg 0
> callvirt SomeMethod()
> stloc x
>
> ldarg 0
> callvirt SomeOtherMethod
> stloc y
>
> You only need to add a sequence point to the first instruction for
> which you have source for. In that case, you need to have a sequence
> point on each ldarg 0 with the appropriate line. When asking the
> debugger to move to the next statement, it will go to the next
> sequence point.
>
> Most of the time, the easier is to write what you want in C# with csc,
> see what Cecil reads, and mimic that.
>
> Jb

-- 
--
mono-cecil

Reply via email to