Skip to content

Binder: public describe_member(kotlin_type_name, member_name) for resolvers #54

Closed

Description

@b-re-w

Gap in #34's contract, found by pythonx-compose: a member resolver must return (kotlin_name, keyword_map), but to build {"padding_values": "paddingValues"} it needs the member's parameter names, and there is no public path from a receiver type to a member's declaration rows (describe(module, name) needs the declaring package, which for extensions differs from the receiver's; _Hybrid._fn is private).

Decided: add python_multiplatform.describe_member(kotlin_type_name, kotlin_member_name) returning the same tuple-of-dict shape as describe(), covering members and extensions served on that type (with supertype lookup), without invoking anything. Resolver signature unchanged.

Completion: describe_member('androidx.compose.ui.Modifier', 'padding') lists the padding overloads with parameter names; unknown member -> AttributeError; tamper check; documented in KotlinSurface.kt.

Activity

  1. added a commit that references this issue on Oct 3, 2026
  2. b-re-w commented on Oct 3, 2026

    @b-re-w
    MemberAuthor

    Landed in develop via #65.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions