-
Notifications
You must be signed in to change notification settings - Fork 4.5k
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
Update metadata when entities are deleted by an EnC edit #75154
Comments
Tagging subscribers to this area: @dotnet/area-system-reflection Issue DetailsRoslyn now allows to delete type members. Deleted method bodies are updated to throw MissingMethodException or to call to the new method (WIP). The deletions are however not reflected in metadata returned by Reflection which may affect Frameworks that depend on Reflection information. Consider adding a naming convention for names of deleted members that Roslyn can use to mark deleted members and that Reflection skips over when enumerating type members.
|
@lambdageek |
Mono has had this code since time immemorial (but only for fields, not methods, properties, events, etc): /* a field is ignored if it's named "_Deleted" and it has the specialname and rtspecialname flags set */
#define mono_field_is_deleted(field) (((field)->type->attrs & (FIELD_ATTRIBUTE_SPECIAL_NAME | FIELD_ATTRIBUTE_RT_SPECIAL_NAME)) \
&& (strcmp (mono_field_get_name (field), "_Deleted") == 0)) Perhaps we could formalize something like this? (on the other hand, this affects more than reflection in Mono, it's also used in the instance layout calculation, for example) In any case, the ECMA "special name" attribute flags on members might be useful |
Can you rename the label to |
Tagging subscribers to this area: @tommcdon Issue DetailsRoslyn now allows to delete type members. Deleted method bodies are updated to throw MissingMethodException or to call to the new method (WIP). The deletions are however not reflected in metadata returned by Reflection which may affect app frameworks that depend on Reflection information. Consider adding a naming convention for names of deleted members that Roslyn can use to mark deleted members and that Reflection skips over when enumerating type members.
|
I deleted area-enc-clr and added the area label area-diagnostics-coreclr |
Throwing |
Roslyn now allows to delete type members. Deleted method bodies are updated to throw MissingMethodException or to call to the new method (WIP). The deletions are however not reflected in metadata returned by Reflection which may affect app frameworks that depend on Reflection information.
Consider adding a naming convention for names of deleted members that Roslyn can use to mark deleted members and that Reflection skips over when enumerating type members.
The text was updated successfully, but these errors were encountered: