Mercurial > projects > ldc
comparison dmd/func.c @ 1143:b28a57f4b530
Fix to synchronized function storage class when getting the classinfo via dotExp.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Wed, 25 Mar 2009 08:13:01 +0100 |
parents | f99a3b393c03 |
children | 1860414bf3b7 |
comparison
equal
deleted
inserted
replaced
1142:49421d3ac5a7 | 1143:b28a57f4b530 |
---|---|
1253 | 1253 |
1254 Expression *sync; | 1254 Expression *sync; |
1255 if (isStatic()) | 1255 if (isStatic()) |
1256 { | 1256 { |
1257 // static member functions synchronize on classinfo | 1257 // static member functions synchronize on classinfo |
1258 // (the expression passed doesn't matter) | 1258 sync = cd->type->dotExp(sc2, new TypeExp(loc, cd->type), Id::classinfo); |
1259 sync = cd->type->dotExp(sc2, new DollarExp(loc), Id::classinfo); | |
1260 } | 1259 } |
1261 else | 1260 else |
1262 { | 1261 { |
1263 // non-static member functions synchronize on this | 1262 // non-static member functions synchronize on this |
1264 sync = new VarExp(loc, vthis); | 1263 sync = new VarExp(loc, vthis); |