llvm/llvm-project

[clang][ExtractAPI] Declaration fragments should show types as shown in the source code.

Open

#61,157 opened on Mar 3, 2023

View on GitHub
 (15 comments) (0 reactions) (0 assignees)C++ (10,782 forks)batch import
clang:toolinggood first issue

Repository metrics

Stars
 (26,378 stars)
PR merge metrics
 (Avg merge 1d 2h) (1,000 merged PRs in 30d)

Description

For Objective-C APIs that use typedefs, ExtractAPI emits declarations with the original’s type’s name rather than its typedef name.

For example, in:

typedef struct MyStruct * MyTypeDef;

void foo(MyTypeDef x) {}

The declaration for foo is the following:

void foo(struct MyStruct * x)

Rather than:

void foo(MyTypeDef x)

Resolving this issue will align the declaration we generate to the one that’s in the original source code.

Contributor guide