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
|
|
17 class TypeReference : TypeNext
|
|
18 {
|
|
19 this(Type t)
|
|
20 {
|
178
|
21 register();
|
0
|
22 super(TY.init, null);
|
|
23 assert(false);
|
|
24 }
|
|
25
|
72
|
26 override Type syntaxCopy()
|
0
|
27 {
|
|
28 assert(false);
|
|
29 }
|
|
30
|
72
|
31 override Type semantic(Loc loc, Scope sc)
|
0
|
32 {
|
|
33 assert(false);
|
|
34 }
|
|
35
|
72
|
36 override ulong size(Loc loc)
|
0
|
37 {
|
|
38 assert(false);
|
|
39 }
|
|
40
|
72
|
41 override void toCBuffer2(OutBuffer buf, HdrGenState* hgs, MOD mod)
|
0
|
42 {
|
|
43 assert(false);
|
|
44 }
|
|
45
|
72
|
46 override Expression dotExp(Scope sc, Expression e, Identifier ident)
|
0
|
47 {
|
|
48 assert(false);
|
|
49 }
|
|
50
|
72
|
51 override Expression defaultInit(Loc loc)
|
0
|
52 {
|
135
|
53 version(LOGDEFAULTINIT) {
|
|
54 printf("TypeReference::defaultInit() '%s'\n", toChars());
|
|
55 }
|
|
56 return new NullExp(loc, this);
|
0
|
57 }
|
|
58
|
72
|
59 override bool isZeroInit(Loc loc)
|
0
|
60 {
|
|
61 assert(false);
|
|
62 }
|
|
63
|
|
64 version (CPP_MANGLE) {
|
|
65 void toCppMangle(OutBuffer buf, CppMangleState* cms)
|
|
66 {
|
|
67 assert(false);
|
|
68 }
|
|
69 }
|
72
|
70 }
|