thoughts? On Tuesday, 6 November 2012 12:21:45 UTC+11, Simon wrote: > > but it does pass all the unit tests :) > > On Monday, 5 November 2012 23:30:58 UTC+11, Simon wrote: >> >> So I merged this >> https://github.com/atykhyy/cecil/commit/a871befb703d41ddf8ed3618300ed68d3da50f9fwith >> master and got this >> https://github.com/SimonCropp/cecil >> >> And I can now view the variable in the iterator block so it looks >> like atykhyy had the fix right. >> >> Of course it is a significant number of changes >> https://github.com/SimonCropp/cecil/commit/799a1e54cd521a262e73de6e17828ce4a252b9b0 >> >> And I have no idea if it broke anything else :) >> >> >> On Monday, 5 November 2012 06:34:17 UTC+11, Simon wrote: >>> >>> Looks like there are a couple of ways forward in that issue. >>> >>> Are you not confident in the quality of the patches? >>> >>> On 05/11/2012, at 1:11 AM, Jb Evain <[email protected]> wrote: >>> >>> I'am not surprised. >>> >>> We're already messing with iterators, see >>> https://github.com/jbevain/cecil/issues/4 >>> >>> It's no surprise we have an issue with async methods. >>> >>> Jb >>> >>> >>> On Sun, Nov 4, 2012 at 10:06 AM, Simon <[email protected]> wrote: >>> >>>> JB >>>> >>>> https://www.dropbox.com/s/1rfr13g7qjmfm4w/CecilDebugIssue.zip >>>> >>>> So someone raised this bug with NPW >>>> https://github.com/SimonCropp/NotifyPropertyWeaver/issues/15 >>>> >>>> And it turns out it effects the other MSBuild project where I use cecil. >>>> >>>> It manifests as such... >>>> >>>> Given this >>>> >>>> [TestFixture] >>>> public class AsyncTest >>>> { >>>> [Test] >>>> public void TestAsynch() >>>> { >>>> AsyncDebuggerTest(); >>>> } >>>> >>>> public async void AsyncDebuggerTest() >>>> { >>>> var test = await getTestString(); >>>> //set breakpoint on next line and look at 'test' variable in >>>> debugger >>>> var test2 = test + test; >>>> } >>>> >>>> private async Task<string> getTestString() >>>> { >>>> return "test"; >>>> } >>>> } >>>> >>>> you cant view the "test" variable in AsyncDebuggerTest >>>> >>>> if I remove the async code I can view "test" >>>> >>>> [TestFixture] >>>> public class NonAsyncTest >>>> { >>>> [Test] >>>> public void TestAsynch() >>>> { >>>> AsyncDebuggerTest(); >>>> } >>>> >>>> public void AsyncDebuggerTest() >>>> { >>>> var test = getTestString(); >>>> //set breakpoint on next line and look at 'test' variable in >>>> debugger >>>> var test2 = test + test; >>>> } >>>> >>>> private string getTestString() >>>> { >>>> return "test"; >>>> } >>>> } >>>> >>>> See CecilDebugIssue project in the attachment for the above two classes >>>> >>>> >>>> If I remove cecil from the equation I can view the "test" variable in >>>> the async case. See WithNoCecil project in attachment >>>> >>>> I have included the bin+obj dir in the attachment so you can have a >>>> look at the pdb and dlls >>>> >>>> my module reader code is here >>>> >>>> https://github.com/SimonCropp/Fody/blob/master/FodyIsolated/ModuleReader.cs >>>> and my module write code is here >>>> >>>> https://github.com/SimonCropp/Fody/blob/master/FodyIsolated/ModuleWriter.cs >>>> >>>> is this enough to go on? I know it is a complicated repro but I am >>>> hoping it is enough for you to go on. >>>> >>>> Regards >>>> Simon >>>> >>>> -- >>>> -- >>>> mono-cecil >>> >>> >>> -- >>> -- >>> mono-cecil >>> >>>
-- -- mono-cecil
