[Mono-bugs] [Bug 619300] New: [verifier] fails to validate deeply nested generator accessing sibling nested private class

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Jul 1 16:20:22 EDT 2010


http://bugzilla.novell.com/show_bug.cgi?id=619300

http://bugzilla.novell.com/show_bug.cgi?id=619300#c0


           Summary: [verifier] fails to validate deeply nested generator
                    accessing sibling nested private class
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: x86-64
        OS/Version: openSUSE 11.2
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: verifier
        AssignedTo: rkumpera at novell.com
        ReportedBy: rodrigobamboo at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.1
(KHTML, like Gecko) Chrome/6.0.427.0 Safari/534.1

The verifier fails on the assembly generated from the following valid c#
program:

    class DeeplyNestedGeneratorUsingSiblingPrivateClass
    {
        private class Foo { public string Bar { get; set; } }

        private class Deeply
        {
            private class Nested
            {
                System.Collections.Generic.IEnumerable<Foo> Generator()
                {
                    yield return new Foo { Bar = "blah" };
                }
            }
        }

        static void Main(string[] args)
        {
        }
    }

MS's peverify accepts the gmcs compiled assembly gladly.

Reproducible: Always

Steps to Reproduce:
1. save the provided the c# code to
DeeplyNestedGeneratorUsingSiblingPrivateClass.cs
2. gmcs DeeplyNestedGeneratorUsingSiblingPrivateClass.cs && MONO_PATH=. pedump
--verify code DeeplyNestedGeneratorUsingSiblingPrivateClass.exe
Actual Results:  
In method:
DeeplyNestedGeneratorUsingSiblingPrivateClass/Deeply/Nested/<Generator>c__Iterator0::MoveNext()
Not Verifiable: Method
DeeplyNestedGeneratorUsingSiblingPrivateClass/Foo:set_Bar (string) is not
accessible at 0x002e
Not Verifiable: Constructor
DeeplyNestedGeneratorUsingSiblingPrivateClass/Foo:.ctor () not visible from
DeeplyNestedGeneratorUsingSiblingPrivateClass/Deeply/Nested/<Generator>c__Iterator0:MoveNext
() at 0x0022

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list