-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Fix PyFunction doc behavior #5827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThe updates introduce refined handling of the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant VM
participant PyType
participant PyFunction
participant PyMemberDescriptor
User->>VM: Access obj.__doc__
alt obj is PyFunction (instance)
VM->>PyFunction: Attempt downcast to PyFunction
PyFunction-->>VM: Return cloned doc string
else obj is PyFunction (class) or other
VM->>PyFunction: Downcast fails
VM-->>User: Return None
else obj is PyMemberDescriptor with obj=None
VM->>PyMemberDescriptor: Check cls attribute dictionary for member name
alt attribute found
PyMemberDescriptor-->>VM: Return class attribute
else
PyMemberDescriptor-->>VM: Return descriptor itself
end
else obj is PyMemberDescriptor with obj=Some
PyMemberDescriptor-->>VM: Return member value
else obj is PyType
VM->>PyType: Get __doc__ property
alt internal doc with signature
PyType->>VM: Return stripped doc string
else
PyType->>VM: Lookup __doc__ in attributes
end
end
VM-->>User: Return doc string or None
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (6)
💤 Files with no reviewable changes (1)
🚧 Files skipped from review as they are similar to previous changes (5)
⏰ Context from checks skipped due to timeout of 90000ms (11)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
8d8e85b
to
5c10d4f
Compare
Summary by CodeRabbit
New Features
__doc__
), including support for dynamic docstring retrieval and setting on classes and functions.__doc__
attributes.Bug Fixes
__doc__
attributes during class extension, ensuring correct documentation display.None
as expected.Tests