Skip to content
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

ObjFW support #117

Draft
wants to merge 12 commits into
base: master
Choose a base branch
from
Draft

ObjFW support #117

wants to merge 12 commits into from

Conversation

madsmtm
Copy link
Owner

@madsmtm madsmtm commented Jan 6, 2022

Add support for the ObjFW runtime. Currently targetting the latest stable release, 0.90.2.

EDIT:

There are a few (actually many, but these are the most prominent) things that make this difficult:

  • Method for accessing properties on classes (primarily ivar layout/offset) are missing. I think this can be done directly through the C types, but it's unclear if their ABI is stable!
  • objc_autoreleasePoolPop and objc_autoreleasePoolPush are part of the main library, not the runtime library. This has been fixed on master.
  • class_addIvar is missing (important for dynamically adding instance variables to classes).
  • Dynamically accessing protocols seem ill-supported (and declaration is entirely missing).

I mean, clang supports it, so it must somehow be possible, but I think proper support would require doing advanced stuff that objrs does (e.g. statically creating classes instead of dynamically), and we're not really ready for that here. So I'm probably gonna wait with trying to add support for it until it gets more stable.

@madsmtm madsmtm added the enhancement New feature or request label Jan 6, 2022
@madsmtm madsmtm mentioned this pull request Jan 11, 2022
8 tasks
@madsmtm madsmtm force-pushed the objfw-support branch 2 times, most recently from d52c17d to bcc0917 Compare January 12, 2022 17:22
@madsmtm madsmtm force-pushed the objfw-support branch 2 times, most recently from 8b1fe76 to 1afa84a Compare March 2, 2022 23:53
@madsmtm madsmtm changed the title objfw support ObjFW support Mar 3, 2022
@madsmtm madsmtm added the wontfix This will not be worked on label Mar 3, 2022
madsmtm added a commit that referenced this pull request Apr 4, 2022
Support for ObjFW is still not enabled, see #117 for that.
madsmtm added a commit that referenced this pull request Apr 4, 2022
A lot of functionality is not yet available in ObjFW, this is now reflected in the API.

Support for ObjFW is still not enabled, see #117 for that.
@madsmtm
Copy link
Owner Author

madsmtm commented Sep 5, 2023

ObjFW recently reached 1.0, so I'll probably add support for that soon

@madsmtm madsmtm added A-objc2 Affects the `objc2`, `objc-sys` and/or `objc2-encode` crates and removed wontfix This will not be worked on labels Sep 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-objc2 Affects the `objc2`, `objc-sys` and/or `objc2-encode` crates enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant