Mercurial > projects > dil
annotate trunk/src/dil/TypeSystem.d @ 512:112c17300069
Added module dil.TypeSystem.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Thu, 13 Dec 2007 23:04:50 +0100 |
parents | |
children | 812f497b20dc |
rev | line source |
---|---|
512
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
1 /++ |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
2 Author: Aziz Köksal |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
3 License: GPL3 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
4 +/ |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
5 module dil.TypeSystem; |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
6 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
7 import dil.Symbol; |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
8 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
9 abstract class Type : Symbol |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
10 { |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
11 Type next; |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
12 } |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
13 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
14 class TypeBasic : Type |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
15 { |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
16 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
17 } |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
18 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
19 class TypeDArray : Type |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
20 { |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
21 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
22 } |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
23 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
24 class TypeAArray : Type |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
25 { |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
26 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
27 } |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
28 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
29 class TypePointer : Type |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
30 { |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
31 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
32 } |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
33 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
34 class TypeReference : Type |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
35 { |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
36 |
112c17300069
Added module dil.TypeSystem.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
37 } |