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

%subclass should provide an @interface #8

Open
DHowett opened this issue Jul 26, 2014 · 10 comments
Open

%subclass should provide an @interface #8

DHowett opened this issue Jul 26, 2014 · 10 comments

Comments

@DHowett
Copy link
Contributor

DHowett commented Jul 26, 2014

Right now, %subclass treats self as an id. Logos could create a secret @interface (_logos_interface$_ungrouped$Blah, maybe?) and use that for self.

@jithatsonei
Copy link

Is this already a thing @kirb?

@kirb
Copy link
Member

kirb commented Feb 14, 2016

No, and I'm not entirely sure how to go about this because it would break code that already has its own definition of the @interface. Maybe one day we'll get into semantic versioning so we can make breaking changes like this one (#111).

@DHowett
Copy link
Contributor Author

DHowett commented Feb 14, 2016

If Logos could detect that (to wit: become an actual objc parser), we could
use the user-provided class type or generate one as necessary.
On Feb 14, 2016 12:46 AM, "Adam Demasi" notifications@github.com wrote:

No, and I'm not entirely sure how to go about this because it would break
code that already has its own definition of the @interface. Maybe one day
we'll get into semantic versioning so we can make breaking changes like
this one (#111).

On Sun, 14 Feb 2016 at 14:07, alucard0134 notifications@github.com
wrote:

Is this already a thing @kirb https://github.com/kirb?


Reply to this email directly or view it on GitHub
https://github.com/theos/theos/issues/100#issuecomment-183815426.

Adam Demasi
HASHBANG Productions
hbang.com.au


Reply to this email directly or view it on GitHub
https://github.com/theos/theos/issues/100#issuecomment-183853098.

@kirb
Copy link
Member

kirb commented Feb 14, 2016

I'm a bit reluctant on really changing Logos much because I'm considering whether it could be replaced by @eswick's Logos-ish clang preprocessor (also, I'm terrible at Perl). Of course that introduces the need to compile code, and quite a lot of code at that. (Will make another issue for this)

(Edit: Lesson learned: email response does not parse Markdown 👎)

@DHowett
Copy link
Contributor Author

DHowett commented Feb 14, 2016

Problem there is, it hasn't kept up with Clang as it's changed. I'm worried
that it ties people to whatever arbitrary version of whatever random
compiler they built when they got Theos.
On Feb 14, 2016 12:55 AM, "Adam Demasi" notifications@github.com wrote:

I'm a bit reluctant on really changing Logos much because I'm considering
whether it could be replaced by @eswick's Logos-ish clang preprocessor (also, I'm terrible at Perl). Of
course that introduces the need to compile code, and quite a lot of code at
that. (Will make another issue for this)

On Sun, 14 Feb 2016 at 19:18, Dustin L. Howett notifications@github.com
wrote:

If Logos could detect that (to wit: become an actual objc parser), we
could
use the user-provided class type or generate one as necessary.
On Feb 14, 2016 12:46 AM, "Adam Demasi" notifications@github.com
wrote:

No, and I'm not entirely sure how to go about this because it would
break
code that already has its own definition of the @interface. Maybe one
day
we'll get into semantic versioning so we can make breaking changes like
this one (#111).

On Sun, 14 Feb 2016 at 14:07, alucard0134 notifications@github.com
wrote:

Is this already a thing @kirb https://github.com/kirb?


Reply to this email directly or view it on GitHub
https://github.com/theos/theos/issues/100#issuecomment-183815426.

Adam Demasi
HASHBANG Productions
hbang.com.au


Reply to this email directly or view it on GitHub
https://github.com/theos/theos/issues/100#issuecomment-183853098.


Reply to this email directly or view it on GitHub
https://github.com/theos/theos/issues/100#issuecomment-183853280.

Adam Demasi
HASHBANG Productions
hbang.com.au


Reply to this email directly or view it on GitHub
https://github.com/theos/theos/issues/100#issuecomment-183855051.

@kirb
Copy link
Member

kirb commented Feb 14, 2016

He also has a conflict of interest (recent Apple internship) so it may be infeasible anyway from a maintenance standpoint unless someone else can take over.

@eswick
Copy link
Contributor

eswick commented Feb 14, 2016

I recconend sticking with Perl. With Clang, we'd have to update code for every new version. Like you said, I have an internship at Apple and don't have the time nor the will to keep it updated.

@andrewwiik
Copy link

Um I know this isn't the place but have you guys ever though of making a way to de-initlize groups?

@rpetrich
Copy link
Contributor

@andrewwiik: It isn't possible to implement that in a safe way with all of the behaviours that developers expect. Instead, it can be done in the tweak itself: always call %init() at startup and check a shouldPlayDead variable in the method hooks.

@kirb
Copy link
Member

kirb commented Feb 15, 2016

Please create a new issue in future or get in touch on IRC or Twitter rather than hijacking an existing thread, @andrewwiik.

@uroboro uroboro transferred this issue from theos/theos Nov 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants