-
Notifications
You must be signed in to change notification settings - Fork 128
Improvements to struct interop for DOTS #70
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
Open
limoka
wants to merge
39
commits into
BepInEx:master
Choose a base branch
from
limoka:dots-improvements
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 36 commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
d888818
Basic support of struct injection
limoka db24493
Fix methods with pointers generated wrong in interop assemblies
limoka 04f81c5
Don't generate default constructor for structs
limoka efb6bbe
Allow generic structs to be blittable
limoka 1816f85
Prevent duplicate IsUnmanagedAttribute classes from being generated
limoka a358207
Fix formatting
limoka 5663946
Cleanup
limoka 206a033
Determine type usage. Add GenericBlittable struct type
limoka 421463b
Generate Boxed variations for generic blittable structs
limoka c791c55
Append _Unboxed for blittable types instead of non blittable
limoka f9d45e4
Fix incorrect generic parameter field generation
limoka 6edae0f
Address comments
limoka e64d831
Fix method generic parameter constraints
limoka a2ad716
Relax generic constraints which are not used in any fields
limoka ef48544
Force Nullable struct to be non blittable
limoka 1958135
Remove default constructor constraints
limoka dbf9b5c
Check nested types for generic parameter relaxation
limoka fbce4e6
Fix generic constraint violations in nested types
limoka e4ac133
Perform generic constraint checks to ensure no type load exceptions
limoka 003d358
Check for field generic parameter usage
limoka 77c056f
Split generic parameter code into pass
limoka 0109f75
Adjust generic parameter constraint logic
limoka a39d55f
Set Strict generic parameter constraint when found no non blittable u…
limoka 1a13f17
Fix formatting
limoka c1b7a61
Ensure structs are not generated as blittable only when non blittable…
limoka 5a9c1bb
Generate nested types for boxed type variants
limoka b9af2b1
Split compute specifics pass in two to prevent use cycles
limoka 84bf008
Prevent relaxed generic parameters from affecting blittablity.
limoka 1ecdb90
Revert forcing Nullable struct to be non blittable
limoka 2e07ccb
Fix invalid constructor being generated in unboxed struct variants
limoka 2536c32
Generate boolean fields in generic structs as a custom struct.
limoka 68dec04
Allow fields to be ignored
limoka 8558a20
Port generic struct generation changes to use AsmResolver
limoka 6663045
Fix generation inconsistencies with previous version
limoka 8cf85ad
fix formatting issues
limoka b13e2a6
tidy up code
limoka a6f7bc8
Move Compute Generic Parameter Specifics to compute type specifics pass
limoka 5e93226
Change pass numbers to be closer to original numbering
limoka 2bfe07b
Format code
limoka 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
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.