-
-
Notifications
You must be signed in to change notification settings - Fork 268
Improve Objective-C support #4777
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
Merged
Merged
Changes from 16 commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
8225ff0
WIP: Objective-C support
LunaTheFoxgirl 71ed496
Merge branch 'ldc-developers:master' into objc
LunaTheFoxgirl 67ef162
Further work on implementation
LunaTheFoxgirl ffbf6ca
ObjC dynamic cast
LunaTheFoxgirl f2ac1d2
Add swift stub class attribute
LunaTheFoxgirl cb785fb
Classes, protocols and ivars
LunaTheFoxgirl 9a9f292
Fix compilation issues
LunaTheFoxgirl b2c30f6
Fix objc ir codegen
LunaTheFoxgirl 3679436
Add objc linker option
LunaTheFoxgirl 9cbd156
Add swift stub classref get ir gen
LunaTheFoxgirl 4246d42
Minor cleanup
LunaTheFoxgirl 2670dbb
Fix objc link flag being added on non-darwin platforms
LunaTheFoxgirl 58e04b3
Refactor objc gen
LunaTheFoxgirl da1cfbb
remove use of std::nullopt
LunaTheFoxgirl bcaff89
Emit protocol tables
LunaTheFoxgirl bc64a73
Remove unused variable
LunaTheFoxgirl a28981a
Formatting
LunaTheFoxgirl a7f6ef0
Fix build in release mode. Thanks for nothing, c++.
LunaTheFoxgirl 3895396
Fix consistency
LunaTheFoxgirl 92bbe08
Fix dynamic casts
LunaTheFoxgirl 0fd521d
Fix tocall parentfd ref and arm msgsend call
LunaTheFoxgirl 627db4f
Make instance variables work
LunaTheFoxgirl dd062ea
Implicitly add isa pointer to objc classes.
LunaTheFoxgirl 37a701d
Fix protocol referencing & allow pragma mangle
LunaTheFoxgirl f0a5b4c
Fix protocol linkage
LunaTheFoxgirl 1b2cc5d
Fix direct call support
LunaTheFoxgirl 8212b12
always generate var type for methods
LunaTheFoxgirl aa9b892
Fix test 16096a
LunaTheFoxgirl 29c9616
Fix extern ivar symbol gen, retain method decls
LunaTheFoxgirl a885a90
Remove arm32 and x86 support
LunaTheFoxgirl 7d857c9
Check method and ivar info before pushing to member list
LunaTheFoxgirl def16ff
Make ObjcMethod info untyped.
LunaTheFoxgirl 3b86873
Make ivar and method gen more robust
LunaTheFoxgirl 056e457
Generate optional protocol symbols
LunaTheFoxgirl c1a76f8
Use bitcasting instead of creating multiple type defs
LunaTheFoxgirl 442f248
Fix invalid protocol list struct gen
LunaTheFoxgirl 9b32dc8
More codegen robustness
LunaTheFoxgirl 19189ea
emit protocol table as const
LunaTheFoxgirl 091bdb2
Make protocol table anon struct
LunaTheFoxgirl d252845
Fix callable type, generate protocol_list_t properly.
LunaTheFoxgirl ed01dbc
Cast vthis to argtype
LunaTheFoxgirl 47638ed
Handle protorefs and classrefs properly
LunaTheFoxgirl 9c63811
seperate label ref and deref
LunaTheFoxgirl 2606073
Fix method lookup
LunaTheFoxgirl b561bd4
Enable objective-c tests
LunaTheFoxgirl d106402
Enable objc_call_static test
LunaTheFoxgirl 9690109
Scan both classes and protocols for method ref
LunaTheFoxgirl 9c4700a
Enable objective-c tests on arm as well.
LunaTheFoxgirl 05ab567
supress objc linker warning in tests
LunaTheFoxgirl f9fd977
Fix class and protocol gen structure
LunaTheFoxgirl cdae5b8
Fix objc_protocol_sections test
LunaTheFoxgirl b923a57
ObjcMethod only get callee for functions with bodies
LunaTheFoxgirl 4d8ec8b
Fix protocol class method gen
LunaTheFoxgirl ccec2ea
Make ObjcMethod anon again
LunaTheFoxgirl c8e743e
Fix missing emit calls
LunaTheFoxgirl f9bf25a
Fix classref gen
LunaTheFoxgirl f577f51
Implement some of the requested changes
LunaTheFoxgirl 0d84d40
Enable compilable tests
LunaTheFoxgirl 8ac9a36
Fix property selector gen, ugly hack for final funcs.
LunaTheFoxgirl 5410e04
Fix segfault in referencing fd->type
LunaTheFoxgirl 1fc06e4
Refactor implementation
LunaTheFoxgirl e6d6548
Fix null references in class and method lookup
LunaTheFoxgirl db91254
include unordered_map
LunaTheFoxgirl c9bed7a
Get functionality on-par with prev impl.
LunaTheFoxgirl 7423d0a
Fix super context calls
LunaTheFoxgirl 5d86126
Move -L-w flag to d_do_test and use IN_LLVM in objc.d/h
LunaTheFoxgirl fd35f83
add LDC version tag to -L-w flag
LunaTheFoxgirl 9244874
Update CHANGELOG.md
LunaTheFoxgirl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
LunaTheFoxgirl marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.