view tests/mini/nested6a.d @ 632:df196c8dea26

Updated to latest LLVM trunk, function notes have been removed and merged with parameter attributes, which have been renamed to just attributes. Nothing seems to have broke!
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Wed, 01 Oct 2008 23:17:14 +0200
parents 45a67b6f1310
children
line wrap: on
line source

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

void main()
{
    int i = 42;

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

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

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

            {
                printf("new C2\n");
                auto c2 = new C2;
                printf("C2.func2()\n");
                c2.func2();
            }
        int n;
        }
    int o;
    }

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