view tests/mini/innerclass1.d @ 1151:3cf0066e6faf

- Versioned Expresssion::toElem with #if IN_DMD/IN_LLVM. - Eliminated the DLRValue DValue. - Implemented proactive handling of l-value CastExpS. - Minor tweak in runtime memory.d .
author Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
date Sat, 28 Mar 2009 05:00:43 +0100
parents 1bb99290e03a
children
line wrap: on
line source

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

class Outer
{
    int i;
    class Inner
    {
        int func()
        {
            return i;
        }
    }
}

void main()
{
    Outer o = new Outer;
    {
        o.i = 42;
        {
            auto i = o.new Inner;
            {
                int x = i.func();
                assert(x == 42);
            }
        }
    }
    printf("SUCCESS\n");
}