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/a871befb703d41ddf8ed3618300ed... 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/799a1e54cd521a262e73de6e17...
>> 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 <jbev...@gmail.com> 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 <simon.cr...@gmail.com> 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/ModuleRea...
>>>> and my module write code is here
>>>> https://github.com/SimonCropp/Fody/blob/master/FodyIsolated/ModuleWri...
>>>> 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