Mercurial > projects > ldc
annotate test/interface1.d @ 113:27b9f749d9fe trunk
[svn r117] Initial working implementation of interfaces.
Groundwork for all the different types of class/interface casts laid out.
author | lindquist |
---|---|
date | Sat, 24 Nov 2007 06:33:00 +0100 |
parents | |
children | 44a95ac7368a |
rev | line source |
---|---|
113
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
1 module interface1; |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
2 |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
3 interface Inter |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
4 { |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
5 void func(); |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
6 } |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
7 |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
8 class Class : Inter |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
9 { |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
10 override void func() |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
11 { |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
12 printf("hello world\n"); |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
13 } |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
14 } |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
15 |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
16 void main() |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
17 { |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
18 scope c = new Class; |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
19 c.func(); |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
20 Inter i = c; |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
21 i.func(); |
27b9f749d9fe
[svn r117] Initial working implementation of interfaces.
lindquist
parents:
diff
changeset
|
22 } |