Mercurial > projects > ddmd
comparison dmd/TraitsExp.d @ 135:af1bebfd96a4 dmd2037
dmd 2.038
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Mon, 13 Sep 2010 22:19:42 +0100 |
parents | e28b18c23469 |
children | 80f4806ffa13 |
comparison
equal
deleted
inserted
replaced
134:4251f96733f4 | 135:af1bebfd96a4 |
---|---|
29 import dmd.FuncDeclaration; | 29 import dmd.FuncDeclaration; |
30 import dmd.ClassDeclaration; | 30 import dmd.ClassDeclaration; |
31 import dmd.TemplateDeclaration; | 31 import dmd.TemplateDeclaration; |
32 import dmd.TemplateInstance; | 32 import dmd.TemplateInstance; |
33 import dmd.TypeClass; | 33 import dmd.TypeClass; |
34 import dmd.Declaration; | |
34 import dmd.Util; | 35 import dmd.Util; |
35 import dmd.expression.Util; | 36 import dmd.expression.Util; |
36 | 37 |
37 import core.stdc.string : strcmp; | 38 import core.stdc.string : strcmp; |
38 | 39 |
90 } | 91 } |
91 if (ident != Id.compiles && ident != Id.isSame) | 92 if (ident != Id.compiles && ident != Id.isSame) |
92 TemplateInstance.semanticTiargs(loc, sc, args, 1); | 93 TemplateInstance.semanticTiargs(loc, sc, args, 1); |
93 size_t dim = args ? args.dim : 0; | 94 size_t dim = args ? args.dim : 0; |
94 Object o; | 95 Object o; |
96 Declaration d; | |
95 FuncDeclaration f; | 97 FuncDeclaration f; |
96 | 98 |
97 string ISTYPE(string cond) | 99 string ISTYPE(string cond) |
98 { | 100 { |
99 return ` | 101 return ` |
170 } | 172 } |
171 else if (ident == Id.isFinalFunction) | 173 else if (ident == Id.isFinalFunction) |
172 { | 174 { |
173 mixin(ISDSYMBOL(q{(f = s.isFuncDeclaration()) !is null && f.isFinal()})); | 175 mixin(ISDSYMBOL(q{(f = s.isFuncDeclaration()) !is null && f.isFinal()})); |
174 } | 176 } |
177 //version(DMDV2) { | |
178 else if (ident == Id.isRef) | |
179 { | |
180 mixin(ISDSYMBOL(q{(d = s.isDeclaration()) !is null && d.isRef()})); | |
181 } | |
182 else if (ident == Id.isOut) | |
183 { | |
184 mixin(ISDSYMBOL(q{(d = s.isDeclaration()) !is null && d.isOut()})); | |
185 } | |
186 else if (ident == Id.isLazy) | |
187 { | |
188 mixin(ISDSYMBOL(q{(d = s.isDeclaration()) !is null && d.storage_class & STClazy})); | |
189 } | |
190 //} | |
175 else if (ident == Id.hasMember || | 191 else if (ident == Id.hasMember || |
176 ident == Id.getMember || | 192 ident == Id.getMember || |
177 ident == Id.getVirtualFunctions) | 193 ident == Id.getVirtualFunctions) |
178 { | 194 { |
179 if (dim != 2) | 195 if (dim != 2) |