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);