{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/230935445","pull_request_review_id":171788311,"id":230935445,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMDkzNTQ0NQ==","diff_hunk":"@@ -254,29 +253,54 @@ protected async Task<(Guid, string projectName, SourceText)> GetGuidAndProjectNa\n                 // in cases like Any-Code (which does not use a VSWorkspace).  So we are tolerant\n                 // when we have another type of workspace.  This means we will show results, but\n                 // certain features (like filtering) may not work in that context.\n-                var workspace = document.Project.Solution.Workspace as VisualStudioWorkspace;\n+                var vsWorkspace = document.Project.Solution.Workspace as VisualStudioWorkspace;\n \n                 var projectName = document.Project.Name;\n-                var guid = workspace.GetProjectGuid(document.Project.Id);\n+                var guid = vsWorkspace?.GetProjectGuid(document.Project.Id) ?? Guid.Empty;\n \n                 var sourceText = await document.GetTextAsync(CancellationToken).ConfigureAwait(false);\n                 return (guid, projectName, sourceText);\n             }\n \n-            protected async Task<Entry> CreateDocumentSpanEntryAsync(\n+            protected async Task<Entry> TryCreateDocumentSpanEntryAsync(\n                 RoslynDefinitionBucket definitionBucket,\n                 DocumentSpan documentSpan,\n                 HighlightSpanKind spanKind)\n             {\n                 var document = documentSpan.Document;\n                 var (guid, projectName, sourceText) = await GetGuidAndProjectNameAndSourceTextAsync(document).ConfigureAwait(false);\n+                var excerptResult = await ExcerptAsync(sourceText, documentSpan).ConfigureAwait(false);\n \n-                var classifiedSpansAndHighlightSpan =\n-                    await ClassifiedSpansAndHighlightSpanFactory.ClassifyAsync(documentSpan, CancellationToken).ConfigureAwait(false);\n+                var mappedDocumentSpan = await AbstractDocumentSpanEntry.TryMapAndGetFirstAsync(documentSpan, sourceText, CancellationToken).ConfigureAwait(false);\n+                if (mappedDocumentSpan == null)\n+                {\n+                    return null;\n+                }\n \n                 return new DocumentSpanEntry(\n-                    this, definitionBucket, documentSpan, spanKind,\n-                    projectName, guid, sourceText, classifiedSpansAndHighlightSpan);\n+                    this, definitionBucket, spanKind, projectName,\n+                    guid, mappedDocumentSpan.Value, excerptResult);\n+            }\n+\n+            private async Task<ExcerptResult> ExcerptAsync(SourceText sourceText, DocumentSpan documentSpan)\n+            {\n+                var excerptService = documentSpan.Document.Services.GetService<IDocumentExcerptService>();\n+                if (excerptService != null)\n+                {\n+                    var result = await excerptService.TryExcerptAsync(documentSpan.Document, documentSpan.SourceSpan, ExcerptMode.SingleLine, CancellationToken).ConfigureAwait(false);\n+                    if (result != null)\n+                    {\n+                        return result.Value;\n+                    }\n+                }\n+\n+                var classificationResult = await ClassifiedSpansAndHighlightSpanFactory.ClassifyAsync(documentSpan, CancellationToken).ConfigureAwait(false);\n+                return new ExcerptResult(\n+                    sourceText,\n+                    classificationResult.HighlightSpan,\n+                    classificationResult.ClassifiedSpans,\n+                    documentSpan.Document,\n+                    documentSpan.SourceSpan);","path":"src/VisualStudio/Core/Def/Implementation/FindReferences/Contexts/AbstractTableDataSourceFindUsagesContext.cs","position":72,"original_position":72,"commit_id":"153cd4af3996e8f2df279d4c02badac5991305c7","original_commit_id":"e1ef86717421f33e93aa49d020c8285b837a27a3","user":{"login":"heejaechang","id":1333179,"node_id":"MDQ6VXNlcjEzMzMxNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/1333179?v=4","gravatar_id":"","url":"https://api.github.com/users/heejaechang","html_url":"https://github.com/heejaechang","followers_url":"https://api.github.com/users/heejaechang/followers","following_url":"https://api.github.com/users/heejaechang/following{/other_user}","gists_url":"https://api.github.com/users/heejaechang/gists{/gist_id}","starred_url":"https://api.github.com/users/heejaechang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heejaechang/subscriptions","organizations_url":"https://api.github.com/users/heejaechang/orgs","repos_url":"https://api.github.com/users/heejaechang/repos","events_url":"https://api.github.com/users/heejaechang/events{/privacy}","received_events_url":"https://api.github.com/users/heejaechang/received_events","type":"User","site_admin":false},"body":"DocumentSpan looks like not universal. not used anywhere else except FAR and its related code. so, decide not using. SourceText just means source text. not source text of document or anything. using sourcetext since it is cheaper than string since it support sub text/range and etc.\r\n\r\nfor number 3, you can open an issue. since I believe excertService should internally use ClassifiedSpan not the other way around.\r\n\r\none thing I coudl do but i didn't yet is making default Exceprt Service for normal roslyn document. so I don't need if branch here.\r\n\r\nhttps://github.com/dotnet/roslyn/issues/30967","created_at":"2018-11-05T22:20:37Z","updated_at":"2018-11-05T22:20:38Z","html_url":"https://github.com/dotnet/roslyn/pull/30733#discussion_r230935445","pull_request_url":"https://api.github.com/repos/dotnet/roslyn/pulls/30733","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/230935445"},"html":{"href":"https://github.com/dotnet/roslyn/pull/30733#discussion_r230935445"},"pull_request":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/30733"}},"in_reply_to_id":229941796},"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/30733","id":225510973,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI1NTEwOTcz","html_url":"https://github.com/dotnet/roslyn/pull/30733","diff_url":"https://github.com/dotnet/roslyn/pull/30733.diff","patch_url":"https://github.com/dotnet/roslyn/pull/30733.patch","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/30733","number":30733,"state":"open","locked":false,"title":"Added a way to inject dynamic file to workspace for component like ra…","user":{"login":"heejaechang","id":1333179,"node_id":"MDQ6VXNlcjEzMzMxNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/1333179?v=4","gravatar_id":"","url":"https://api.github.com/users/heejaechang","html_url":"https://github.com/heejaechang","followers_url":"https://api.github.com/users/heejaechang/followers","following_url":"https://api.github.com/users/heejaechang/following{/other_user}","gists_url":"https://api.github.com/users/heejaechang/gists{/gist_id}","starred_url":"https://api.github.com/users/heejaechang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heejaechang/subscriptions","organizations_url":"https://api.github.com/users/heejaechang/orgs","repos_url":"https://api.github.com/users/heejaechang/repos","events_url":"https://api.github.com/users/heejaechang/events{/privacy}","received_events_url":"https://api.github.com/users/heejaechang/received_events","type":"User","site_admin":false},"body":"…zor.\r\n\r\nthrough IDynamicFileInfoProvider and etc, external component such as razor should be able to provide us dynamic file (such as generated c# content for cshtml file) on the fly and let us know update on the content.\r\n\r\nrenamed Column to Character since Column should be only used when it accounts \"tab\". and count \"tab\" as tab size rather than just 1 char.\r\n\r\nmoved FAR to work on top of new set of APIs. it should now show things on html correctly\r\n\r\nadded support for code lens. but found 1 issue. without changing VS side, I can't fix filename. and without fixing filename, navigation won't work properly\r\n\r\n...\r\n\r\nneed to add unit tests and etc. doens't work without project system and razor side changes yet.\r\n\r\n![image](https://user-images.githubusercontent.com/1333179/47454003-e86d5600-d782-11e8-8c12-4b8b20b7cc80.png)\r\n","created_at":"2018-10-24T18:47:49Z","updated_at":"2018-11-05T22:20:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"98403f5942836c3a9252d5d9080f946090bd1697","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":166377917,"node_id":"MDU6TGFiZWwxNjYzNzc5MTc=","url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-IDE","name":"Area-IDE","color":"5319e7","default":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/roslyn/milestones/35","html_url":"https://github.com/dotnet/roslyn/milestone/35","labels_url":"https://api.github.com/repos/dotnet/roslyn/milestones/35/labels","id":3585736,"node_id":"MDk6TWlsZXN0b25lMzU4NTczNg==","number":35,"title":"16.0.P1","description":"16.0. Preview 1 release targeted","creator":{"login":"jinujoseph","id":12449387,"node_id":"MDQ6VXNlcjEyNDQ5Mzg3","avatar_url":"https://avatars3.githubusercontent.com/u/12449387?v=4","gravatar_id":"","url":"https://api.github.com/users/jinujoseph","html_url":"https://github.com/jinujoseph","followers_url":"https://api.github.com/users/jinujoseph/followers","following_url":"https://api.github.com/users/jinujoseph/following{/other_user}","gists_url":"https://api.github.com/users/jinujoseph/gists{/gist_id}","starred_url":"https://api.github.com/users/jinujoseph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jinujoseph/subscriptions","organizations_url":"https://api.github.com/users/jinujoseph/orgs","repos_url":"https://api.github.com/users/jinujoseph/repos","events_url":"https://api.github.com/users/jinujoseph/events{/privacy}","received_events_url":"https://api.github.com/users/jinujoseph/received_events","type":"User","site_admin":false},"open_issues":18,"closed_issues":77,"state":"open","created_at":"2018-08-21T00:12:14Z","updated_at":"2018-11-05T19:39:25Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/dotnet/roslyn/pulls/30733/commits","review_comments_url":"https://api.github.com/repos/dotnet/roslyn/pulls/30733/comments","review_comment_url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/30733/comments","statuses_url":"https://api.github.com/repos/dotnet/roslyn/statuses/153cd4af3996e8f2df279d4c02badac5991305c7","head":{"label":"heejaechang:FarRazor3","ref":"FarRazor3","sha":"153cd4af3996e8f2df279d4c02badac5991305c7","user":{"login":"heejaechang","id":1333179,"node_id":"MDQ6VXNlcjEzMzMxNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/1333179?v=4","gravatar_id":"","url":"https://api.github.com/users/heejaechang","html_url":"https://github.com/heejaechang","followers_url":"https://api.github.com/users/heejaechang/followers","following_url":"https://api.github.com/users/heejaechang/following{/other_user}","gists_url":"https://api.github.com/users/heejaechang/gists{/gist_id}","starred_url":"https://api.github.com/users/heejaechang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heejaechang/subscriptions","organizations_url":"https://api.github.com/users/heejaechang/orgs","repos_url":"https://api.github.com/users/heejaechang/repos","events_url":"https://api.github.com/users/heejaechang/events{/privacy}","received_events_url":"https://api.github.com/users/heejaechang/received_events","type":"User","site_admin":false},"repo":{"id":30170221,"node_id":"MDEwOlJlcG9zaXRvcnkzMDE3MDIyMQ==","name":"roslyn","full_name":"heejaechang/roslyn","private":false,"owner":{"login":"heejaechang","id":1333179,"node_id":"MDQ6VXNlcjEzMzMxNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/1333179?v=4","gravatar_id":"","url":"https://api.github.com/users/heejaechang","html_url":"https://github.com/heejaechang","followers_url":"https://api.github.com/users/heejaechang/followers","following_url":"https://api.github.com/users/heejaechang/following{/other_user}","gists_url":"https://api.github.com/users/heejaechang/gists{/gist_id}","starred_url":"https://api.github.com/users/heejaechang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heejaechang/subscriptions","organizations_url":"https://api.github.com/users/heejaechang/orgs","repos_url":"https://api.github.com/users/heejaechang/repos","events_url":"https://api.github.com/users/heejaechang/events{/privacy}","received_events_url":"https://api.github.com/users/heejaechang/received_events","type":"User","site_admin":false},"html_url":"https://github.com/heejaechang/roslyn","description":"The .NET Compiler Platform (\"Roslyn\") provides open-source C# and Visual Basic compilers with rich code analysis APIs.","fork":true,"url":"https://api.github.com/repos/heejaechang/roslyn","forks_url":"https://api.github.com/repos/heejaechang/roslyn/forks","keys_url":"https://api.github.com/repos/heejaechang/roslyn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heejaechang/roslyn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heejaechang/roslyn/teams","hooks_url":"https://api.github.com/repos/heejaechang/roslyn/hooks","issue_events_url":"https://api.github.com/repos/heejaechang/roslyn/issues/events{/number}","events_url":"https://api.github.com/repos/heejaechang/roslyn/events","assignees_url":"https://api.github.com/repos/heejaechang/roslyn/assignees{/user}","branches_url":"https://api.github.com/repos/heejaechang/roslyn/branches{/branch}","tags_url":"https://api.github.com/repos/heejaechang/roslyn/tags","blobs_url":"https://api.github.com/repos/heejaechang/roslyn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heejaechang/roslyn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heejaechang/roslyn/git/refs{/sha}","trees_url":"https://api.github.com/repos/heejaechang/roslyn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heejaechang/roslyn/statuses/{sha}","languages_url":"https://api.github.com/repos/heejaechang/roslyn/languages","stargazers_url":"https://api.github.com/repos/heejaechang/roslyn/stargazers","contributors_url":"https://api.github.com/repos/heejaechang/roslyn/contributors","subscribers_url":"https://api.github.com/repos/heejaechang/roslyn/subscribers","subscription_url":"https://api.github.com/repos/heejaechang/roslyn/subscription","commits_url":"https://api.github.com/repos/heejaechang/roslyn/commits{/sha}","git_commits_url":"https://api.github.com/repos/heejaechang/roslyn/git/commits{/sha}","comments_url":"https://api.github.com/repos/heejaechang/roslyn/comments{/number}","issue_comment_url":"https://api.github.com/repos/heejaechang/roslyn/issues/comments{/number}","contents_url":"https://api.github.com/repos/heejaechang/roslyn/contents/{+path}","compare_url":"https://api.github.com/repos/heejaechang/roslyn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heejaechang/roslyn/merges","archive_url":"https://api.github.com/repos/heejaechang/roslyn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heejaechang/roslyn/downloads","issues_url":"https://api.github.com/repos/heejaechang/roslyn/issues{/number}","pulls_url":"https://api.github.com/repos/heejaechang/roslyn/pulls{/number}","milestones_url":"https://api.github.com/repos/heejaechang/roslyn/milestones{/number}","notifications_url":"https://api.github.com/repos/heejaechang/roslyn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heejaechang/roslyn/labels{/name}","releases_url":"https://api.github.com/repos/heejaechang/roslyn/releases{/id}","deployments_url":"https://api.github.com/repos/heejaechang/roslyn/deployments","created_at":"2015-02-02T03:54:43Z","updated_at":"2018-10-16T22:44:12Z","pushed_at":"2018-11-03T02:06:50Z","git_url":"git://github.com/heejaechang/roslyn.git","ssh_url":"git@github.com:heejaechang/roslyn.git","clone_url":"https://github.com/heejaechang/roslyn.git","svn_url":"https://github.com/heejaechang/roslyn","homepage":"","size":432797,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:dev16.0.x","ref":"dev16.0.x","sha":"6bdc7b1e7dd2a4e4d21b746862350b22eefc270e","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":29078997,"node_id":"MDEwOlJlcG9zaXRvcnkyOTA3ODk5Nw==","name":"roslyn","full_name":"dotnet/roslyn","private":false,"owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/dotnet/roslyn","description":"The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.","fork":false,"url":"https://api.github.com/repos/dotnet/roslyn","forks_url":"https://api.github.com/repos/dotnet/roslyn/forks","keys_url":"https://api.github.com/repos/dotnet/roslyn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/roslyn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/roslyn/teams","hooks_url":"https://api.github.com/repos/dotnet/roslyn/hooks","issue_events_url":"https://api.github.com/repos/dotnet/roslyn/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/roslyn/events","assignees_url":"https://api.github.com/repos/dotnet/roslyn/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/roslyn/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/roslyn/tags","blobs_url":"https://api.github.com/repos/dotnet/roslyn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/roslyn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/roslyn/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/roslyn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/roslyn/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/roslyn/languages","stargazers_url":"https://api.github.com/repos/dotnet/roslyn/stargazers","contributors_url":"https://api.github.com/repos/dotnet/roslyn/contributors","subscribers_url":"https://api.github.com/repos/dotnet/roslyn/subscribers","subscription_url":"https://api.github.com/repos/dotnet/roslyn/subscription","commits_url":"https://api.github.com/repos/dotnet/roslyn/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/roslyn/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/roslyn/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/roslyn/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/roslyn/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/roslyn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/roslyn/merges","archive_url":"https://api.github.com/repos/dotnet/roslyn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/roslyn/downloads","issues_url":"https://api.github.com/repos/dotnet/roslyn/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/roslyn/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/roslyn/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/roslyn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/roslyn/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/roslyn/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/roslyn/deployments","created_at":"2015-01-11T02:39:03Z","updated_at":"2018-11-05T20:45:42Z","pushed_at":"2018-11-05T22:13:25Z","git_url":"git://github.com/dotnet/roslyn.git","ssh_url":"git@github.com:dotnet/roslyn.git","clone_url":"https://github.com/dotnet/roslyn.git","svn_url":"https://github.com/dotnet/roslyn","homepage":"https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/","size":478515,"stargazers_count":10310,"watchers_count":10310,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2448,"mirror_url":null,"archived":false,"open_issues_count":5365,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":2448,"open_issues":5365,"watchers":10310,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/30733"},"html":{"href":"https://github.com/dotnet/roslyn/pull/30733"},"issue":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/30733"},"comments":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/30733/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/30733/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/30733/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/roslyn/statuses/153cd4af3996e8f2df279d4c02badac5991305c7"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"heejaechang"}}