annotate dmd/UAddExp.d @ 178:e3afd1303184

Many small bugs fixed Made all classes derive from TObject to detect memory leaks (functionality is disabled for now) Began work on overriding backend memory allocations (to avoid memory leaks)
author korDen
date Sun, 17 Oct 2010 07:42:00 +0400
parents 9e39c7de8438
children b0d41ff5e0df
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: 23
diff changeset
1 module dmd.UAddExp;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
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: 23
diff changeset
4 import dmd.Expression;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
5 import dmd.Identifier;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
6 import dmd.UnaExp;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
7 import dmd.Loc;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
8 import dmd.Scope;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
9 import dmd.TOK;
123
9e39c7de8438 Make dmd test suite compile
korDen
parents: 114
diff changeset
10 import dmd.Id;
72
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
11
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
12 class UAddExp : UnaExp
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
13 {
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
14 this(Loc loc, Expression e)
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
15 {
178
e3afd1303184 Many small bugs fixed
korDen
parents: 123
diff changeset
16 register();
72
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
17 super(loc, TOK.TOKuadd, this.sizeof, e);
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
18 }
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
19
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
20 override Expression semantic(Scope sc)
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
21 {
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
22 Expression e;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
23
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
24 version (LOGSEMANTIC) {
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
25 printf("UAddExp.semantic('%s')\n", toChars());
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
26 }
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
27 assert(!type);
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
28 UnaExp.semantic(sc);
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
29 e1 = resolveProperties(sc, e1);
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
30 e = op_overload(sc);
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
31 if (e)
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
32 return e;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
33 e1.checkNoBool();
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
34 e1.checkArithmetic();
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
35 return e1;
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
36 }
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
37
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
38 override Identifier opId()
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
39 {
123
9e39c7de8438 Make dmd test suite compile
korDen
parents: 114
diff changeset
40 return Id.uadd;
72
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
41 }
2e2a5c3f943a reduced warnings by adding override to the methods
Trass3r
parents: 23
diff changeset
42 }