-
Notifications
You must be signed in to change notification settings - Fork 89
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
Renamer broke types implement inherited interface #55
Comments
And there is a bug when renaming an abstract method which is imported from external assembly. Please use the following project to reproduce the issue: Expected result: Related code: class C<TItem> : B, S<TItem>
{
public TItem GetT(int key)=> default(TItem);
public override bool CanExtend(object extendee) {
throw new NotImplementedException();
}
}
[Serializable]
abstract class B : System.ComponentModel.IExtenderProvider
{
public abstract bool CanExtend(object extendee);
}
interface S<TItem> : I<int, TItem> { }
interface I<TKey, TItem> {
TItem GetT(int key);
} |
I've found one of the offending lines:
I don't know what the purpose of this line is, but when I watch it in debug I see the method signature of the target go from
When I get rid of it, the obfuscated dll works fine. I don't know if that line is actually doing anything important, but it's certainly also breaking something. |
Describe the bug
An exception Unhandled Exception: System.TypeLoadException: Signature of the body and declaration in a method implementation do not match. will be thrown.
To Reproduce
Use the following project and the
Normal
preset to reproduce the issue.ConsoleApp1.zip
Related code:
The text was updated successfully, but these errors were encountered: