Mercurial > projects > ddmd
annotate dmd/TypeReference.d @ 187:b0d41ff5e0df
Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
author | Abscissa |
---|---|
date | Tue, 07 Jun 2011 23:37:34 -0400 |
parents | e3afd1303184 |
children |
rev | line source |
---|---|
0 | 1 module dmd.TypeReference; |
2 | |
114 | 3 import dmd.common; |
0 | 4 import dmd.Type; |
5 import dmd.MOD; | |
6 import dmd.TypeNext; | |
7 import dmd.OutBuffer; | |
8 import dmd.Loc; | |
9 import dmd.Scope; | |
10 import dmd.HdrGenState; | |
11 import dmd.Expression; | |
12 import dmd.Identifier; | |
135 | 13 import dmd.NullExp; |
0 | 14 import dmd.CppMangleState; |
15 import dmd.TY; | |
16 | |
187
b0d41ff5e0df
Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
Abscissa
parents:
178
diff
changeset
|
17 import dmd.DDMDExtensions; |
b0d41ff5e0df
Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
Abscissa
parents:
178
diff
changeset
|
18 |
0 | 19 class TypeReference : TypeNext |
20 { | |
187
b0d41ff5e0df
Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
Abscissa
parents:
178
diff
changeset
|
21 mixin insertMemberExtension!(typeof(this)); |
b0d41ff5e0df
Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
Abscissa
parents:
178
diff
changeset
|
22 |
0 | 23 this(Type t) |
24 { | |
178 | 25 register(); |
0 | 26 super(TY.init, null); |
27 assert(false); | |
28 } | |
29 | |
72 | 30 override Type syntaxCopy() |
0 | 31 { |
32 assert(false); | |
33 } | |
34 | |
72 | 35 override Type semantic(Loc loc, Scope sc) |
0 | 36 { |
37 assert(false); | |
38 } | |
39 | |
72 | 40 override ulong size(Loc loc) |
0 | 41 { |
42 assert(false); | |
43 } | |
44 | |
72 | 45 override void toCBuffer2(OutBuffer buf, HdrGenState* hgs, MOD mod) |
0 | 46 { |
47 assert(false); | |
48 } | |
49 | |
72 | 50 override Expression dotExp(Scope sc, Expression e, Identifier ident) |
0 | 51 { |
52 assert(false); | |
53 } | |
54 | |
72 | 55 override Expression defaultInit(Loc loc) |
0 | 56 { |
135 | 57 version(LOGDEFAULTINIT) { |
58 printf("TypeReference::defaultInit() '%s'\n", toChars()); | |
59 } | |
60 return new NullExp(loc, this); | |
0 | 61 } |
62 | |
72 | 63 override bool isZeroInit(Loc loc) |
0 | 64 { |
65 assert(false); | |
66 } | |
67 | |
68 version (CPP_MANGLE) { | |
69 void toCppMangle(OutBuffer buf, CppMangleState* cms) | |
70 { | |
71 assert(false); | |
72 } | |
73 } | |
72 | 74 } |