return new ErrorExp();
}
+ // ignore symbol visibility and disable access checks for these traits
+ Scope *scx = sc->push();
+ scx->flags |= SCOPEignoresymbolvisibility | SCOPEnoaccesscheck;
+
if (e->ident == Id::hasMember)
{
/* Take any errors as meaning it wasn't found
*/
- Scope *scx = sc->push();
- scx->flags |= SCOPEignoresymbolvisibility;
ex = trySemantic(ex, scx);
scx->pop();
return ex ? True(e) : False(e);
if (ex->op == TOKdotid)
// Prevent semantic() from replacing Symbol with its initializer
((DotIdExp *)ex)->wantsym = true;
- Scope *scx = sc->push();
- scx->flags |= SCOPEignoresymbolvisibility;
ex = semantic(ex, scx);
scx->pop();
return ex;
{
unsigned errors = global.errors;
Expression *eorig = ex;
- Scope *scx = sc->push();
- scx->flags |= SCOPEignoresymbolvisibility;
ex = semantic(ex, scx);
if (errors < global.errors)
e->error("%s cannot be resolved", eorig->toChars());