Skip to content

Objective-C hooking extension with toolchain/language server support, autocomplete, etc.

License

Notifications You must be signed in to change notification settings

DragonBuild/llvm-objcs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

llvm-ObjCS

Please note that this toolchain is still in very active, early development, and there may be statements or things noted in specifications / this README that are not yet available or public.

llvm-ObjCS is a modified build of apple-llvm, allowing compilation of Objective-CS code directly to LLVM IR.

The Objective-CS Language Specification can be viewed here: https://github.com/DragonBuild/Objective-CS

<upcoming> The toolchain has direct integration and companion tooling with the dragon build system, and drop-in compatibility with theos. </upcoming>

It can be used to compile Logos projects, and both Logos and Objective-CS files can be mixed and built within the same project.


Implementing it directly in LLVM as opposed to, in logos' case, via a preprocessor allows:

  • Using @ directives more in line with regular Objective-C
  • Utilizing clangd / other development tools. Yes, this includes autocomplete/similar features in any editor supporting clangd
  • Better error/warning output

And from a development standpoint:

  • Far more flexibility, ease of maintenance, from a language standpoint.
  • Not having to write/read perl

This project is still in active development, and has a ways to go before reaching feature parity with modern Logos.

I'll update this README.md in the future with better info.


This is a modern continuation of Evan Swick's https://github.com/eswick/clang-logos and Objective-CS projects, who has unfortunately since passed away.

Its maintenance has since been continued by cynder.

About

Objective-C hooking extension with toolchain/language server support, autocomplete, etc.

Resources

License

Security policy

Stars

Watchers

Forks