[Clang] ExtractAPI Objective-C categories

Description of the project: Swift-DocC is the canonical documentation compiler for the Swift OSS project. However Swift-DocC is not Swift specific and uses SymbolKit's languaguage agnostic JSON-based symbol graph format to understand which symbols are available in the code, this way any language can be supported by Swift-DocC as long as there is a symbol graph generator.

Clang supports symbol graph generation for C and Objective-C as described in [RFC] clang support for API information generation in JSON. Today, support for Objective-C categories is not complete, on one hand if the category extends a type in the current module, the category members are assumed to belong to the extended type itself. On the other hand, if the extended type belongs to another module the category is ignored. Nonetheless, it is common to extend types belonging to other modules in Objective-C as part of the public API of the module. The goal of this project is to extend the symbol graph format to accommodate Objective-C categories and to implement support for generating this information both through clang and through libclang.

Expected result: Adding the necessary support to clang's symbol graph generator and in libclang for describing categories of symbols defined in other modules. This might involve additions to SymbolKit that would need to be discussed with that community.

Desirable skills: Intermediate C++ programming skills; familiarity with clang and Objective-C are assets but not required.

Project size: Medium

Difficulty: Medium

Confirmed Mentors: Daniel Grumberg, Zixu Wang, Juergen Ributzka

Hello Sir!
I am highly interested in this project for this year’s gsoc, and I would like to ask:

  1. What are the tips you would give to someone who’s completely new but highly curious about this project like:
    a. Which skills to focus on first
    b. Which resources to refer
    c. how much time to give to what things
    PS: I have some idea and have made some plans by myself but I wanted to know your perspective as someone who’s completely new to this field and wants to learn everything from scratch as I am someone who’s known as resource generator (i.e. considering each and every available option) & someone who’s known to utilize maximize out of limited resources (i.e. understand things quickly & easily I also believe hardwork >>>> talent)
  2. Are their any other means of communication as I had some doubts I think could be cleared better personally

Thanks for listening
hoping for your response & co-operation
Krishu Gupta
Student Representative Training & Placement Team at IITM BSC
+91 7982295871

You can DM me here with specific questions. I would be happy to review any proposals you might have already written.

Hello Sir, Thanks for responding, but this was exactly my question can you tell me how I can DM you, I can’t find the option to DM you or anyone else infact on this platform

In the upper right part of the Discourse page, you should see three icons: a speech bubble (Chat), a magnifying class (Search), and your profile icon. Click the speech bubble to open a dialog box that has a Personal chat section, with a + sign you can use to enter the username of the person you want to chat with.

Hello sir, as you can see I can only see 2 icons which doesn’t include the speech bubble (chat) icon