<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61157>61157</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang][ExtractAPI] Declaration fragments should show types as shown in the source code.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
good first issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
daniel-grumberg
</td>
</tr>
</table>
<pre>
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.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU81uozAQfprhMkoEJobkwCEpjdRDtdVuX8CYwXhl7Mg2SfP2K0i6pVK3WimyYwzfz8x8IgStLFEF_AC8TsQYe-erVlhNZqX8ODTkVdK49lodnccfzW-SUZ9p9YD7l6eAsRcRx0AYrydqqQvAHvDxLXoh4_7lCWnQMWBL0ggvonY24EXHHmNP6LxW2goDjwy2Kex2YUZZHK0YCL2IPfmJyeIEdmeaL9eQ1pDub-skkN7EcDI0qdAW8vsNFOn9Nx_fEUL0o4z4fP11-wNsj8_X1-uJauogPyzBz0632DkHbPv3FXwDtkMoD1DWXxLd1teelhXAzvkJCXWYy9A5Y9xFW_UvuQvqrxRPIr5h__lRvv8g-OztO1gKzpy1VRh7HVCHMBJetDEojFZ2drY0fSFUZMmLSBjdrf-W5vlZNFzbT5OBwY1eEkrX0jppq7zd5TuRUJUVZbnlvMx3SV9lmZRtWmx2kjhjvNsIWfCi68qiywpZZImuWMryNE_zjKcs264p47Ls8o0UYpML3sAmpUFoszbmPKydV8nspyqyjJeJEQ2ZMEeEMeVci532Id48A2NTcHw1fbpqRhVgkxodYvgAizqaOWLSCKuA18APHxkBXmO9HA8v1EA2Bgy9G007bZd56gOK-eHFvhfqU31Gb6o-xlOY-syOwI5Kx35s1tINwI6TnPu2Onk3BRnYcTYRgB1nr38CAAD__89fRdc">