{"action":"created","issue":{"url":"https://api.github.com/repos/OpenCover/opencover/issues/378","labels_url":"https://api.github.com/repos/OpenCover/opencover/issues/378/labels{/name}","comments_url":"https://api.github.com/repos/OpenCover/opencover/issues/378/comments","events_url":"https://api.github.com/repos/OpenCover/opencover/issues/378/events","html_url":"https://github.com/OpenCover/opencover/pull/378","id":121705810,"number":378,"title":"Source Connection For Compiler Generated Branches?","user":{"login":"ddur","id":3501612,"avatar_url":"https://avatars.githubusercontent.com/u/3501612?v=3","gravatar_id":"","url":"https://api.github.com/users/ddur","html_url":"https://github.com/ddur","followers_url":"https://api.github.com/users/ddur/followers","following_url":"https://api.github.com/users/ddur/following{/other_user}","gists_url":"https://api.github.com/users/ddur/gists{/gist_id}","starred_url":"https://api.github.com/users/ddur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ddur/subscriptions","organizations_url":"https://api.github.com/users/ddur/orgs","repos_url":"https://api.github.com/users/ddur/repos","events_url":"https://api.github.com/users/ddur/events{/privacy}","received_events_url":"https://api.github.com/users/ddur/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-12-11T13:13:25Z","updated_at":"2015-12-15T22:34:17Z","closed_at":"2015-12-15T22:34:17Z","pull_request":{"url":"https://api.github.com/repos/OpenCover/opencover/pulls/378","html_url":"https://github.com/OpenCover/opencover/pull/378","diff_url":"https://github.com/OpenCover/opencover/pull/378.diff","patch_url":"https://github.com/OpenCover/opencover/pull/378.patch"},"body":"I think, it will be difficult to detect all CGB (Compiler Generated Branches) without sources.\r\nOnly reliable way to select only UCB (User Code Branches) is to profile/instrument source code (not IL assembly). But, if we make connection to source we can at least improve.\r\n\r\nSo far, I detected some C# source-code-sequences of fixed length, always separated from other SequencePoints, that cannot contain UCB, but can contain CGB.\r\n1) First bracket '{' on static method. Anyhow, no left or right bracket will ever contain UCB.\r\n2) Enumerator keyword 'in' has CGB that can be reached only by enumerating over null IEnumerable, throwing an exception, which is usually prevented by null testing code or contract.\r\n\r\nI would like to hear other people opinions and comments."},"comment":{"url":"https://api.github.com/repos/OpenCover/opencover/issues/comments/164918845","html_url":"https://github.com/OpenCover/opencover/pull/378#issuecomment-164918845","issue_url":"https://api.github.com/repos/OpenCover/opencover/issues/378","id":164918845,"user":{"login":"ddur","id":3501612,"avatar_url":"https://avatars.githubusercontent.com/u/3501612?v=3","gravatar_id":"","url":"https://api.github.com/users/ddur","html_url":"https://github.com/ddur","followers_url":"https://api.github.com/users/ddur/followers","following_url":"https://api.github.com/users/ddur/following{/other_user}","gists_url":"https://api.github.com/users/ddur/gists{/gist_id}","starred_url":"https://api.github.com/users/ddur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ddur/subscriptions","organizations_url":"https://api.github.com/users/ddur/orgs","repos_url":"https://api.github.com/users/ddur/repos","events_url":"https://api.github.com/users/ddur/events{/privacy}","received_events_url":"https://api.github.com/users/ddur/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T22:34:17Z","updated_at":"2015-12-15T22:34:17Z","body":"Do not merge, I need more time."}}