[svn r118] Fixed dynamic casts.

Fixed a few interface bugs.
This commit is contained in:
Tomas Lindquist Olsen
2007-11-25 00:19:13 +01:00
parent b43f5729b0
commit 541a677a54
11 changed files with 243 additions and 49 deletions

44
test/interface6.d Normal file
View File

@@ -0,0 +1,44 @@
module interface6;
interface I
{
void Ifunc();
}
interface J
{
void Jfunc();
}
class C : I,J
{
int i;
int j;
void Ifunc()
{
i++;
}
void Jfunc()
{
j++;
}
}
void main()
{
C c = new C;
c.Ifunc();
c.Jfunc();
I i = c;
i.Ifunc();
J j = c;
j.Jfunc();
C c2 = cast(C)i;
c2.Ifunc();
c2.Jfunc();
C c3 = cast(C)j;
c3.Ifunc();
c3.Jfunc();
assert(c.i == 4);
assert(c.j == 4);
}