Merge master to features/embeddedJson#29627
Merged
14 commits merged intofeatures/embeddedJsonfrom Sep 4, 2018
Merged
Conversation
…methods/properties/events)
Analyzer flags two cases: members with no read/writes and members with only writes.
1. Members with no read or writes: `Type '{0}' has an unused private member '{1}' which can be removed.`
2. Only writes: `Type '{0}' has a private member '{1}' which can be removed as the value assigned to it is never used.`
Code fix removes the unused member declaration.
Fixes #24225
Open questions:
1. Current analyzer design uses a single code style option for all members and both the above kinds of unused members. We can potentially have multiple options, but this should probably be done based on feedback.
2. Should the analyzer use different diagnostic IDs for the above two kinds of unused members? This will mean that the FixAll experience will need multiple iterations for removing unused members.
3. Should we update the code fix (or have an additional code fix) that also updates the write references for the case (2) above? Or is it better to leave the references to break the code so the user can analyze if the value being assigned can also be removed. The PR current chooses the latter approach as it is more conservative and unlikely to cause silent breaks.
1. Break the analyzer into two separate diagnostics for flagging unused and unread members. Latter rule has no code fix. 2. Remove all UI option elements for the added diagnostics and turn the rules off by default for now. 3. Bail out for invalid operations and syntax errors. 4. Handle doc comments and nameof - report unread member diagostics instead of unused member diagnostics if referenced in non-read/write context.
…mber for fields with non-constant initializers.
[DeadCodeAnalysis] Add analyzer/fixer to flag and remove unused private members (fields/…
This pull request was closed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an automatically generated pull request from master into features/embeddedJson.
git fetch --all git checkout merges/master-to-features/embeddedJson git reset --hard upstream/features/embeddedJson git merge upstream/master # Fix merge conflicts git commit git push merges/master-to-features/embeddedJson --forceOnce all conflicts are resolved and all the tests pass, you are free to merge the pull request.