view tests/mini/nested6a.d @ 811:8e6135be6999

Fixed ModuleInfo generation to no longer use the ModuleInfo class' default initializer for types/defaults, it's unsafe as initializers don't necesarily match the "formal" type. There might be explicit padding. Changed -g switch to emit DW_LANG_D debug info, make demangling work with a patched GDB, still more work to do for full support of D's Dwarf extensions. Added getNullValue helper method.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 01 Dec 2008 02:10:16 +0100
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();
}