view test/nested6.d @ 309:d59c363fccad trunk

[svn r330] Implemented synchronized statements. Changed the tryfinally handlers to a more generalized EnclosingHandler. Changed ClassInfoS to be mutable so they can be used as locks. Added new BB after throw ala return/break etc.
author lindquist
date Sat, 28 Jun 2008 11:37:53 +0200
parents d9d5d59873d8
children
line wrap: on
line source

module nested6;
extern(C) int printf(char*, ...);

void main()
{
    int i = 42;

    printf("main() %d\n", i++);

    class C
    {
        void func()
        {
            printf("C.func() %d\n", i++);

            class C2
            {
                void func2()
                {
                    printf("C2.func2() %d\n", i++);
                }
            }

            {
                scope c2 = new C2;
                c2.func2();
            }
        }
    }

    scope c = new C;
    c.func();
}