Skip to content

Skip explicit implementations of generic methods of internal interfaces#55

Merged
ForNeVeR merged 6 commits intomasterfrom
bugfix/54.unknown-type-in-signature
Dec 22, 2025
Merged

Skip explicit implementations of generic methods of internal interfaces#55
ForNeVeR merged 6 commits intomasterfrom
bugfix/54.unknown-type-in-signature

Conversation

@ForNeVeR
Copy link
Copy Markdown
Contributor

In the --omit-non-api-members true mode, we are preserving the internal interface implementations on public types.

The interface methods themselves are supposed to be skipped, only the fact of implementation is enough.

There was a problem with explicit implementations of generic methods: they have a bit different form in the CLI metadata, and the code that was supposed to skip their import, was still processing their signatures. An attempt to resolve an internal type in the signature of an explicit implementation of an internal interface's generic method (duh) was leading to the titular UnknownTypeInSignature.

(Also this includes some QoL fixes for the tests to better push their output so that it's more easily to view in the IDE.)

Closes #54.

@ForNeVeR ForNeVeR requested a review from ulex December 20, 2025 19:24
@ForNeVeR
Copy link
Copy Markdown
Contributor Author

@ulex could you please check if this will fix the original issue with the actual assembly you were trying to refasm?

@ulex
Copy link
Copy Markdown
Contributor

ulex commented Dec 22, 2025

Thanks! I can confirm that there is no exception on the assembly with which I initially had this problem.

The produced assemblies are rather unexpected to me. The type claims to implement an internal interface, but there is not a single MethodImpl for the implementation. However, it seems to be as designed.

@ForNeVeR
Copy link
Copy Markdown
Contributor Author

I believe it is how it's currently designed (not only for this kind of interface, but for any internal interfaces), yes. Can't quite remember why it was done so, perhaps because of some magical constraints that might affect compilation or something like that :(

@ForNeVeR ForNeVeR merged commit 9595432 into master Dec 22, 2025
2 checks passed
@ForNeVeR ForNeVeR deleted the bugfix/54.unknown-type-in-signature branch December 22, 2025 17:48
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

Successfully merging this pull request may close these issues.

The UnknownTypeInSignature exception is thrown when specific prerequisites are met

2 participants