Kotlin / Kotlin/KEEP

Binary Signature Name

Open
#302 7 comments 3 reactions 0 assignees View on GitHub
Dominant language
Markdown
Stars
3.8k
Forks
385
PR merge metrics
No merged PRs in 30d

Description

This proposal introduces `@BinarySignatureName` annotation that serves as a cross-platform variant of `@JvmName`
annotation that is used in Kotlin/JVM and is designed to solve various library migration and Object-C interoperability use-cases.
This annotation affects overload matching and linking of cross-platform Kotlin libraries.

For convenience of Object-C interoperability, a helper `@ObjCSignature` annotation is introduced that makes Objective-C
interoperability more straightforward as shown later.

See [binary-signature.md](https://github.com/Kotlin/KEEP/blob/binary-signature/proposals/multiplatform/binary-signature.md) for the full text of the proposal, use-cases, detailed design, and open issues. Use PR #303 for minor corrections (like typos and text style) and use this issue for the discussion on the substance of the proposal.

Contributor guide

No contributing guide indexed for this repository

Research direction

Read binary-signature.md for the full proposal, use-cases, detailed design, and open issues, then review the substantive discussion in this issue. PR #303 is explicitly limited to minor corrections; done means reaching agreement on the proposal's substance, and no implementation file or test is named.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin, objective-c
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.