Mercurial > projects > ddmd
diff 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 |
line wrap: on
line diff
--- a/dmd/TraitsExp.d Sat Sep 11 13:03:39 2010 +0100 +++ b/dmd/TraitsExp.d Mon Sep 13 22:19:42 2010 +0100 @@ -31,6 +31,7 @@ import dmd.TemplateDeclaration; import dmd.TemplateInstance; import dmd.TypeClass; +import dmd.Declaration; import dmd.Util; import dmd.expression.Util; @@ -92,6 +93,7 @@ TemplateInstance.semanticTiargs(loc, sc, args, 1); size_t dim = args ? args.dim : 0; Object o; + Declaration d; FuncDeclaration f; string ISTYPE(string cond) @@ -172,6 +174,20 @@ { mixin(ISDSYMBOL(q{(f = s.isFuncDeclaration()) !is null && f.isFinal()})); } +//version(DMDV2) { + else if (ident == Id.isRef) + { + mixin(ISDSYMBOL(q{(d = s.isDeclaration()) !is null && d.isRef()})); + } + else if (ident == Id.isOut) + { + mixin(ISDSYMBOL(q{(d = s.isDeclaration()) !is null && d.isOut()})); + } + else if (ident == Id.isLazy) + { + mixin(ISDSYMBOL(q{(d = s.isDeclaration()) !is null && d.storage_class & STClazy})); + } +//} else if (ident == Id.hasMember || ident == Id.getMember || ident == Id.getVirtualFunctions)