{"action":"opened","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/16051","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/16051/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/16051/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/16051/events","html_url":"https://github.com/dotnet/roslyn/issues/16051","id":196943903,"number":16051,"title":"Should Inner Classes show up in the BaseList?","user":{"login":"janvanderhaegen","id":3787769,"avatar_url":"https://avatars.githubusercontent.com/u/3787769?v=3","gravatar_id":"","url":"https://api.github.com/users/janvanderhaegen","html_url":"https://github.com/janvanderhaegen","followers_url":"https://api.github.com/users/janvanderhaegen/followers","following_url":"https://api.github.com/users/janvanderhaegen/following{/other_user}","gists_url":"https://api.github.com/users/janvanderhaegen/gists{/gist_id}","starred_url":"https://api.github.com/users/janvanderhaegen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janvanderhaegen/subscriptions","organizations_url":"https://api.github.com/users/janvanderhaegen/orgs","repos_url":"https://api.github.com/users/janvanderhaegen/repos","events_url":"https://api.github.com/users/janvanderhaegen/events{/privacy}","received_events_url":"https://api.github.com/users/janvanderhaegen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-12-21T14:19:53Z","updated_at":"2016-12-21T14:19:53Z","closed_at":null,"body":"Should a nested class (inner class) show up in the outer class' ClassDeclaration's BaseList?\r\n\r\n**Version Used**:  Nuget 1.2.0.0, DLL 1.2.1\r\n\r\n**Steps to Reproduce**:\r\nSuppose I have this Outer class with a nested Inner class\r\n```\r\npublic class Outer : SomeBaseClass, ISomeInterface{\r\n    public class Inner { }\r\n}\r\n```\r\nThen, I loop to find all ClassDeclarations: \r\n```\r\n            foreach (var project in projects)\r\n            {\r\n                foreach (var doc in project.Documents)\r\n                {\r\n                    if (!doc.SupportsSyntaxTree)\r\n                        continue; \r\n                    var tree = await doc.GetSyntaxTreeAsync();\r\n                    var root = tree.GetRoot();\r\n                    var classNodes = root\r\n                        .DescendantNodes(p => !(p is ClassDeclarationSyntax))\r\n                        .OfType<ClassDeclarationSyntax>();\r\n                    }\r\n               }\r\n```\r\n\r\n**Expected Behavior**:\r\n\r\nclassNodes contains the two classes, Outer and Inner.\r\nOuter 's BaseList contains SomeBaseClass and ISomeInterface\r\n\r\n**Actual Behavior**:\r\nclassNodes contains only one class: Outer\r\nOuter 's BaseList contains SomeBaseClass, ISomeInterface and Inner\r\n"}}
{"actor":{"display_login":"janvanderhaegen"}}