view tangotests/b.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 68a7dd38c03c
children
line wrap: on
line source

class C
{
    int a;
    union
    {
        int i;
        double d;
    }
    int z;
}

void func()
{
    scope c = new C;
    access1(c);
    assert(c.i == 42);
    access2(c);
    assert(c.d == 2.5);
}

void access1(C c)
{
    c.i = 42;
}

void access2(C c)
{
    c.d = 2.5;
}

void main()
{
    func();
}