roslyn
roslyn copied to clipboard
Extensions: follow-ups for metadata
This issue is referenced in source.
The list includes:
- [ ] switch away from ordinals in skeleton type names
- [ ] confirm on parameter ordinal used in
EmitExpression.EmitParameterIdExpression - [ ] consider adding private constructor to extension skeleton types?
- [ ] consider adding ExtensionAttribute to extension skeleton types even when no member method
- [ ] consider optimizing lookup using presence of
[Extension]attribute - [ ] User may apply attribute to set special name. We should honor that on the implementation method
- [ ] Metadata: copying attributes (synthesized attributes like nullability? we copy some attributes from enclosing method to closure type, see previous work that implemented that)
- [ ] Implementation methods should be considered implicitly declared
- [ ] Manual testing with reflection
- [ ] Ping known metadata consumers (SandCastle, decompilers)
- [ ] Test ref-only assemblies (should already work, needs test)
- [ ] Skeleton methods should throw
NotSupportedException(currently usingthrow null)
Relates to test plan https://github.com/dotnet/roslyn/issues/76130