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
