changeset 1406:eb7cb41ee585

Allow package protected members to be accessed by the declaring module even if it isn't in a package.
author Christian Kamm <kamm incasoftware de>
date Thu, 21 May 2009 18:08:31 +0200
parents a865b81fc961
children 9a049fd1a014 afecdb8ee962
files dmd/access.c
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/dmd/access.c	Thu May 21 15:26:46 2009 +0200
+++ b/dmd/access.c	Thu May 21 18:08:31 2009 +0200
@@ -392,11 +392,12 @@
 #endif
     if (!e)
     {
-	if (d->prot() == PROTprivate && d->getModule() != sc->module ||
-	    d->prot() == PROTpackage && !hasPackageAccess(sc, d))
+	if (d->getModule() != sc->module)
+	    if (d->prot() == PROTprivate ||
+		d->prot() == PROTpackage && !hasPackageAccess(sc, d))
 
-	    error(loc, "%s %s.%s is not accessible from %s",
-		d->kind(), d->getModule()->toChars(), d->toChars(), sc->module->toChars());
+		error(loc, "%s %s.%s is not accessible from %s",
+		    d->kind(), d->getModule()->toChars(), d->toChars(), sc->module->toChars());
     }
     else if (e->type->ty == Tclass)
     {   // Do access check