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

Reply via email to