The @scope tag may be given a second parameter, which is used to define other groups for parts of the documentation. For example, the feature is used to differentiate the public and private parts of an API of an object—when the documentation is generated for use by in-house developers the private API calls are included in the documentation. When external developers generate documentation they can exclude the private API calls to ensure they do not call private methods by mistake.
The feature imparts no impact on the code visibility—the notions of public and private are a logical convenience. Other groupings are possible, with different parameters.
These are examples of the use of the parameter:
/** * A private API function that should not be called from * outside the class it is defined in. * * @type void * @scope SomeClass private */ function privateAPICall() {... } /** * This function does something useful and can be called * by any code with a reference to an object of this * class. * * @type Integer * @scope SomeClass public */ function publicAPICall() {... }