{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/13778","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/13778/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/13778/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/13778/events","html_url":"https://github.com/dotnet/roslyn/pull/13778","id":176795016,"number":13778,"title":"Expose SyntaxDiffing (as EnC does it) through an actual Workspace API.","user":{"login":"CyrusNajmabadi","id":4564579,"avatar_url":"https://avatars.githubusercontent.com/u/4564579?v=3","gravatar_id":"","url":"https://api.github.com/users/CyrusNajmabadi","html_url":"https://github.com/CyrusNajmabadi","followers_url":"https://api.github.com/users/CyrusNajmabadi/followers","following_url":"https://api.github.com/users/CyrusNajmabadi/following{/other_user}","gists_url":"https://api.github.com/users/CyrusNajmabadi/gists{/gist_id}","starred_url":"https://api.github.com/users/CyrusNajmabadi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CyrusNajmabadi/subscriptions","organizations_url":"https://api.github.com/users/CyrusNajmabadi/orgs","repos_url":"https://api.github.com/users/CyrusNajmabadi/repos","events_url":"https://api.github.com/users/CyrusNajmabadi/events{/privacy}","received_events_url":"https://api.github.com/users/CyrusNajmabadi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/roslyn/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-09-14T01:54:46Z","updated_at":"2016-09-14T01:58:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/13778","html_url":"https://github.com/dotnet/roslyn/pull/13778","diff_url":"https://github.com/dotnet/roslyn/pull/13778.diff","patch_url":"https://github.com/dotnet/roslyn/pull/13778.patch"},"body":"Fixes https://github.com/dotnet/roslyn/issues/13776\r\n\r\nThis change (which is still in progress) attempts to expose the syntax diffing code we use for EnC in a public fashion so it can be used.  @JoshVarty would like to get at this code for a feature he is working on.\r\n\r\nInterestingly enough, we were exposing *part* of this API before in a public manner.  However, what we were exposing was 100% unusable.  Specifically, even though we had some public types, we exposed no public entrypoints to access those types.  i.e. we did not have any public constructors, nor did we have any public static methods that would end up using them.\r\n\r\nAlso, the API was exceedingly old and was written at a time when we had not unified syntax across VB and C#.  As such, all the types in the API were generic and were parameterized on a TSyntaxNode type that was not necessary.\r\n\r\nBecause the API was actually never at all consumable, i took this opportunity to completely make it non-generic and to make it just sit on SyntaxNode directly.  \r\n\r\n--\r\n\r\nNote: in the initial stage of this PR nothing at all is public.  This is because i'm waiting on @JoshVarty to let me know the exact set of functionality he needs so i can only expose what's necessary to keep the surface area here small.  in the PR i've indicated what will become public."},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/246883064","html_url":"https://github.com/dotnet/roslyn/pull/13778#issuecomment-246883064","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/13778","id":246883064,"user":{"login":"CyrusNajmabadi","id":4564579,"avatar_url":"https://avatars.githubusercontent.com/u/4564579?v=3","gravatar_id":"","url":"https://api.github.com/users/CyrusNajmabadi","html_url":"https://github.com/CyrusNajmabadi","followers_url":"https://api.github.com/users/CyrusNajmabadi/followers","following_url":"https://api.github.com/users/CyrusNajmabadi/following{/other_user}","gists_url":"https://api.github.com/users/CyrusNajmabadi/gists{/gist_id}","starred_url":"https://api.github.com/users/CyrusNajmabadi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CyrusNajmabadi/subscriptions","organizations_url":"https://api.github.com/users/CyrusNajmabadi/orgs","repos_url":"https://api.github.com/users/CyrusNajmabadi/repos","events_url":"https://api.github.com/users/CyrusNajmabadi/events{/privacy}","received_events_url":"https://api.github.com/users/CyrusNajmabadi/received_events","type":"User","site_admin":false},"created_at":"2016-09-14T01:58:39Z","updated_at":"2016-09-14T01:58:39Z","body":"Tagging @dotnet/roslyn-ide @tmat "}}
{"actor":{"display_login":"CyrusNajmabadi"}}