annotate dmd/DotExp.d @ 192:eb38fdcb3e62 default tip

updated to compile with dmd2.062
author korDen
date Sat, 02 Mar 2013 01:25:52 -0800
parents b0d41ff5e0df
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
72
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
1 module dmd.DotExp;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
2
114
e28b18c23469 added a module dmd.common for commonly used stuff
Trass3r
parents: 72
diff changeset
3 import dmd.common;
72
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
4 import dmd.Expression;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
5 import dmd.Loc;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
6 import dmd.Scope;
129
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
7 import dmd.ScopeExp;
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
8 import dmd.TemplateDeclaration;
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
9 import dmd.DotTemplateExp;
72
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
10 import dmd.BinExp;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
11 import dmd.TOK;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
12
187
b0d41ff5e0df Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
Abscissa
parents: 178
diff changeset
13 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
14
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
15 class DotExp : BinExp
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
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 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
18
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
19 this(Loc loc, Expression e1, Expression e2)
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
20 {
178
e3afd1303184 Many small bugs fixed
korDen
parents: 129
diff changeset
21 register();
129
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
22 super(loc, TOKdotexp, DotExp.sizeof, e1, e2);
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
23 }
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
24
72
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 0
diff changeset
25 override Expression semantic(Scope sc)
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
26 {
129
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
27 version (LOGSEMANTIC) {
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
28 printf("DotExp.semantic('%s')\n", toChars());
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
29 if (type) printf("\ttype = %s\n", type.toChars());
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
30 }
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
31 e1 = e1.semantic(sc);
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
32 e2 = e2.semantic(sc);
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
33 if (e2.op == TOKimport)
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
34 {
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
35 ScopeExp se = cast(ScopeExp)e2;
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
36 TemplateDeclaration td = se.sds.isTemplateDeclaration();
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
37 if (td)
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
38 {
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
39 Expression e = new DotTemplateExp(loc, e1, td);
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
40 e = e.semantic(sc);
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
41 return e;
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
42 }
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
43 }
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
44 if (!type)
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
45 type = e2.type;
010eb8f0e18d further work on dmd test suite
korDen
parents: 114
diff changeset
46 return this;
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
47 }
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
48 }
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
49