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)