View source code
Display the source code in dmd/access.d from which this page was generated on github.
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 local clone.

Module dmd.access

Enforce visibility contrains such as public and private.

Specification

Visibility Attributes

Documentation

https://dlang.org/phobos/dmd_access.html

Coverage

https://codecov.io/gh/dlang/dmd/src/master/src/dmd/access.d

Functions

NameDescription
checkAccess(ad, loc, sc, smember) Do access check for member of this class, this class being the type of the 'this' pointer used to access smember. Returns true if the member is not accessible.
checkAccess(loc, sc, e, d) Check access to d for expression e.d Returns true if the declaration is not accessible.
checkAccess(sc, p) Check access to package/module p from scope sc.
checkSymbolAccess(sc, s) Check if a symbol is visible from a given scope without taking into account the most visible overload.
mostVisibleOverload(s, mod) Use the most visible overload to check visibility. Later perform an access check on the resolved overload. This function is similar to overloadApply, but doesn't recurse nor resolve aliases because visibility is an attribute of the alias not the aliasee.
symbolIsVisible(mod, s) Check whether symbols s is visible in mod.
symbolIsVisible(origin, s) Same as above, but determines the lookup module from symbols origin.
symbolIsVisible(sc, s) Same as above but also checks for protected symbols visible from scope sc. Used for qualified name lookup.

Authors

Walter Bright

License

Boost License 1.0