{"action":"created","issue":{"url":"https://api.github.com/repos/mono/linker/issues/106","repository_url":"https://api.github.com/repos/mono/linker","labels_url":"https://api.github.com/repos/mono/linker/issues/106/labels{/name}","comments_url":"https://api.github.com/repos/mono/linker/issues/106/comments","events_url":"https://api.github.com/repos/mono/linker/issues/106/events","html_url":"https://github.com/mono/linker/pull/106","id":227780126,"number":106,"title":"Fix ReferencesAreRemovedWhenAllUsagesAreRemoved, was incorrectly passing","user":{"login":"mrvoorhe","id":16102349,"avatar_url":"https://avatars2.githubusercontent.com/u/16102349?v=3","gravatar_id":"","url":"https://api.github.com/users/mrvoorhe","html_url":"https://github.com/mrvoorhe","followers_url":"https://api.github.com/users/mrvoorhe/followers","following_url":"https://api.github.com/users/mrvoorhe/following{/other_user}","gists_url":"https://api.github.com/users/mrvoorhe/gists{/gist_id}","starred_url":"https://api.github.com/users/mrvoorhe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrvoorhe/subscriptions","organizations_url":"https://api.github.com/users/mrvoorhe/orgs","repos_url":"https://api.github.com/users/mrvoorhe/repos","events_url":"https://api.github.com/users/mrvoorhe/events{/privacy}","received_events_url":"https://api.github.com/users/mrvoorhe/received_events","type":"User","site_admin":false},"labels":[{"id":474865401,"url":"https://api.github.com/repos/mono/linker/labels/cla-already-signed","name":"cla-already-signed","color":"009800","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-05-10T19:06:58Z","updated_at":"2017-05-10T23:39:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mono/linker/pulls/106","html_url":"https://github.com/mono/linker/pull/106","diff_url":"https://github.com/mono/linker/pull/106.diff","patch_url":"https://github.com/mono/linker/pull/106.patch"},"body":"ReferencesAreRemovedWhenAllUsagesAreRemoved was passing when it should have been failing due to a bug in ResultChecker treating [RemovedAssembly] the same as [KeptAssembly].  Once the ResultChecker was fixed, it took a couple more changes before the test would pass.\r\n\r\nAdd a command line option to disable the blacklist step\r\n\r\nFor the test cases, disable options that tend to pollute the linked output with a bunch of preservations that are not needed for our test cases\r\n\r\nMake assembly and module attribute marking slightly less conservative. Currently we mark them all.  With this change we will not mark assembly and module attributes when their defining module has not been marked after processing all types.\r\n\r\nThis fixes the test ReferencesAreRemovedWhenAllUsagesAreRemoved when ran against the .NET Framework.  When this test was ran against the .NET Framework, System.dll was being kept around because of the assembly attribute BitmapSuffixInSatelliteAssemblyAttribute, which is itself defined in System.dll.\r\n\r\nI did not write a unit test for this case because (a) it would be tricky to do at the moment and (b) we are overly conservative with attributes as a whole and attribute linking need to be reviewed.  When that happens, we can pin down the exact behavior we want.  The goal of this PR is to get ReferencesAreRemovedWhenAllUsagesAreRemoved passing.\r\n"},"comment":{"url":"https://api.github.com/repos/mono/linker/issues/comments/300642189","html_url":"https://github.com/mono/linker/pull/106#issuecomment-300642189","issue_url":"https://api.github.com/repos/mono/linker/issues/106","id":300642189,"user":{"login":"mrvoorhe","id":16102349,"avatar_url":"https://avatars2.githubusercontent.com/u/16102349?v=3","gravatar_id":"","url":"https://api.github.com/users/mrvoorhe","html_url":"https://github.com/mrvoorhe","followers_url":"https://api.github.com/users/mrvoorhe/followers","following_url":"https://api.github.com/users/mrvoorhe/following{/other_user}","gists_url":"https://api.github.com/users/mrvoorhe/gists{/gist_id}","starred_url":"https://api.github.com/users/mrvoorhe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrvoorhe/subscriptions","organizations_url":"https://api.github.com/users/mrvoorhe/orgs","repos_url":"https://api.github.com/users/mrvoorhe/repos","events_url":"https://api.github.com/users/mrvoorhe/events{/privacy}","received_events_url":"https://api.github.com/users/mrvoorhe/received_events","type":"User","site_admin":false},"created_at":"2017-05-10T23:39:21Z","updated_at":"2017-05-10T23:39:21Z","body":"Note to self:  Add attribute flags for disabling il8n and blacklist.  Then have only these tests disable them rather than disabling these across the board.\r\n\r\nDon't merge yet.\r\n"}}
{"actor":{"display_login":"mrvoorhe"}}