Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
ddmd.access
Compiler implementation of the
D programming language.
Authors:
License:
Source: access.d
- Prot
getAccess
(AggregateDeclarationad
, Dsymbolsmember
); - Return Prot access for Dsymbol
smember
in this declaration. - static bool
isAccessible
(Dsymbolsmember
, Dsymbolsfunc
, AggregateDeclarationdthis
, AggregateDeclarationcdscope
); - Helper function for checkAccess()Returns:
false
is not accessibletrue
is accessible - bool
checkAccess
(AggregateDeclarationad
, Locloc
, Scope*sc
, Dsymbolsmember
); - Do access check for member of this class, this class being the type of the 'this' pointer used to access
smember
. Returnstrue
if the member is not accessible. - bool
isFriendOf
(AggregateDeclarationad
, AggregateDeclarationcd
); - Determine if this is the same or friend of
cd
. - bool
hasPackageAccess
(Scope*sc
, Dsymbols
); - Determine if scope
sc
has package level access tos
. - bool
hasProtectedAccess
(Scope*sc
, Dsymbols
); - Determine if scope
sc
has protected level access to cd. - bool
hasPrivateAccess
(AggregateDeclarationad
, Dsymbolsmember
); - Determine if
smember
has access to private members of this declaration. - bool
checkAccess
(Locloc
, Scope*sc
, Expressione
, Declarationd
); - Check access to
d
for expressione
.d
Returnstrue
if the declaration is not accessible. - bool
checkAccess
(Locloc
, Scope*sc
, Packagep
); - Check access to package/module
p
from scopesc
.Parameters:Loc loc
source location for issued error message Scope* sc
scope from which to access to a fully qualified package name Package p
the package/module to check access for Returns:true
if the package is not accessible. Because a global symbol table tree is used for imported packages/modules, access to them needs to be checked based on the imports in the scope chain (see https://issues.dlang.org/show_bug.cgi?id=313). - bool
symbolIsVisible
(Modulemod
, Dsymbols
); - Check whether symbols
s
is visible inmod
.Parameters:Module mod
lookup origin Dsymbol s
symbol to check for visibility Returns:true
ifs
is visible inmod
- bool
symbolIsVisible
(Dsymbolorigin
, Dsymbols
); - Same as above, but determines the lookup module from symbols
origin
. - bool
symbolIsVisible
(Scope*sc
, Dsymbols
); - Same as above but also checks for protected symbols visible from scope
sc
. Used for qualified name lookup.Parameters:Scope* sc
lookup scope Dsymbol s
symbol to check for visibility Returns:true
ifs
is visible by origin
Copyright © 1999-2017 by the D Language Foundation | Page generated by
Ddoc on (no date time)