New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Objective-C Class Extensions should not be considered private. (Origin: bugzilla #656005) #4355

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.7.4 on platform Other
Assigned to: Dimitri van Heesch

On 2011-08-05 00:46:03 +0000, Oliver Jones wrote:

Objective-C class extensions should be considered "private" and only be included in documentation when EXTRACT_PRIVATE is turned on.

When a class extension like the one below is declared in a .m implementation file in Objective-C it is effectively private. Unlike languages like Java and C++ there is no way of marking members of a class in Objective-C as private. The @Private keyword only applies to data members.

@interface MyClass ()

@Property (nonatomic, assign) id delegate;
@Property (nonatomic, retain) NSMutableDictionary *actions;

  • (void)someMethod;

@EnD

Although no methods in Objective-C are really private (if you know the selector name you can call it) it would be nice if the methods didn't show up in the public interface documentation.

I've tried adding /*! \private */ to methods and properties in class Extensions but that doesn't seem to be having any effect even with EXTRACT_PRIVATE not set.

On 2011-08-05 01:03:44 +0000, Oliver Jones wrote:

It seems the only effective way to remove "private" and internal methods in Objective-C code from Doxygen docs is to turn on HIDE_UNDOC_MEMBERS and document everything that should be public.

On 2011-08-11 19:49:43 +0000, Dimitri van Heesch wrote:

Confirmed. Should be fixed in the next release.
Make sure EXTRACT_LOCAL_METHODS is set to YES, otherwise the methods only defined in a .m file are not extracted.

On 2011-08-14 14:05:15 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.5. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment