dotnet / dotnet/macios

Investigate whether it's beneficial to share P/Invokes with similar signatures

Open
#16,673 3 comments 1 reaction 0 assignees View on GitHub
app-size enhancement generator
Dominant language
C#
Stars
2.9k
Forks
576
Avg merge
2d 13h
Merged PRs (30d)
96

Description

Example:

```cs
Messaging.void_objc_msgSend_IntPtr_nuint(base.Handle, Selector.GetHandle("setTitle:forState:"), intPtr, (nuint)(ulong)P_1);
```

`P_1` is a `[Native]` enum, which is an `n[u]int` so it can have a different size on 32/64 bits architectures.
An `IntPtr` can also do this job and since we're already using them in many places (handles) we have a better chance to share an existing signature for `objc_msg[Super]Send`
e.g. `void_objc_msgSend_IntPtr_IntPtr` already exists

Potential:

- smaller platform assembly (minor impact)
- smaller app bundles for large apps (minor impact)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.