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.
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
Fix JNA bug
MethodTooLargeException
by splitting bigUniffiLib
interface #2344Fix JNA bug
MethodTooLargeException
by splitting bigUniffiLib
interface #2344Changes from all commits
20fe81c
8f4ff17
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me know if I should adjust
interface UniffiLibChecksums
to contain theffi_uniffi_contract_version
function so that we can calluniffiCheckContractApiVersion(lib)
inside this.also
block, which would be closer to what we do onmain
branch (calluniffiCheckContractApiVersion
beforeuniffiCheckApiChecksums
).Alternatively I can change to this to ensure
uniffiCheckContractApiVersion
is called beforeuniffiCheckApiChecksums
:Let me know what you prefer:
ffi_uniffi_contract_version
intoUniffiLibChecksums
(and maybe rename the interfaceUniffiLibChecks
)internal val INSTANCE: UniffiLib
so that we loadlib: UniffiLib
lib first then do checksum checks and returnlib
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer
2
, since a contract version change could potentially affect the checksum function signature. However, if this makes theinterface
code more complicated, it's not worth it.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will give it (option 2) a go and will ping you tomorrow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bendk OK I've renamed to new lib
IntegrityCheckingUniffiLib
(instead ofUniffiLibChecksums
) since it now also performs the contract version check. I think "integrity check" is OK terminology to describe the aggregation of "contract version check" and "checksum checks".There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bendk I've ensured to not get lint errors (which I got at first) if
lib: UniffiLib
is not used - which can be the case now ifinitialization_fns()
is empty.I've updated to only conditionally include the
.also
after loading lib, only ifinitialization_fns()
is not empty.I think that is the best solution. Let me know if you are happy with it.