Mercurial > projects > ddmd
comparison dmd/TypeTypeof.d @ 96:acd69f84627e
further work
author | Trass3r |
---|---|
date | Tue, 31 Aug 2010 02:12:15 +0200 |
parents | 2e2a5c3f943a |
children | e28b18c23469 |
comparison
equal
deleted
inserted
replaced
95:ae5b11064a9a | 96:acd69f84627e |
---|---|
1 module dmd.TypeTypeof; | 1 module dmd.TypeTypeof; |
2 | 2 |
3 import dmd.TypeFunction; | |
3 import dmd.TypeQualified; | 4 import dmd.TypeQualified; |
4 import dmd.Expression; | 5 import dmd.Expression; |
5 import dmd.Identifier; | 6 import dmd.Identifier; |
6 import dmd.Scope; | 7 import dmd.Scope; |
7 import dmd.Loc; | 8 import dmd.Loc; |
121 else | 122 else |
122 }+/ | 123 }+/ |
123 { | 124 { |
124 sc.intypeof++; | 125 sc.intypeof++; |
125 exp = exp.semantic(sc); | 126 exp = exp.semantic(sc); |
127 if (exp.type && exp.type.ty == Tfunction && | |
128 (cast(TypeFunction)exp.type).isproperty) | |
129 exp = resolveProperties(sc, exp); | |
126 sc.intypeof--; | 130 sc.intypeof--; |
127 if (exp.op == TOK.TOKtype) | 131 if (exp.op == TOK.TOKtype) |
128 { | 132 { |
129 error(loc, "argument %s to typeof is not an expression", exp.toChars()); | 133 error(loc, "argument %s to typeof is not an expression", exp.toChars()); |
130 } | 134 } |