Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement Required Members for VB (#66084)
* Add and implement IPropertySymbol.IsRequired and IFieldSymbol.IsRequired. * Add and implement NamedTypeSymbol.AllRequiredMembers. * Implement MethodSymbol.HasSetsRequiredMembers * Implement checking required members in constructors, sketch out test methods. * Implement remaining errors: * Block inheriting from types with required members * Block calling constructors with invalid required member lists * Block substituting types with required members in As New, unless the parameterless ctor has SetsRequiredMembers. * Fill out all tests * PR feedback * PR feedback# * PR Feedback * Compile errors, missed feedback item. * Fix compile errors, add a few more tests. * Addressed a number of PR feedback comments. Lots of new tests, fixed a few revealed bugs, handle Nothing converted to a struct with required members. * PR feedback * Remove Nothing handling to align with C#. * Remove suppressions of cascading errors. * Expand unbound test coverage. * Expand tuple test coverage. * Pass correct containing type in local rewriting of tuples. * Fix test baseline * Simplify EnsureRequiredMembersCalcuated. * Add additional test verification. * Remove unnecessary imports * Tighten retargeting asserts and add a test * Fix C# equivalent code.
- Loading branch information