{"action":"closed","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/24784","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/24784/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/24784/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/24784/events","html_url":"https://github.com/dotnet/roslyn/issues/24784","id":296457860,"number":24784,"title":"IAssemblySymbol.TypeNames are not fully qualified","user":{"login":"DevMatthias","id":34451836,"avatar_url":"https://avatars0.githubusercontent.com/u/34451836?v=4","gravatar_id":"","url":"https://api.github.com/users/DevMatthias","html_url":"https://github.com/DevMatthias","followers_url":"https://api.github.com/users/DevMatthias/followers","following_url":"https://api.github.com/users/DevMatthias/following{/other_user}","gists_url":"https://api.github.com/users/DevMatthias/gists{/gist_id}","starred_url":"https://api.github.com/users/DevMatthias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DevMatthias/subscriptions","organizations_url":"https://api.github.com/users/DevMatthias/orgs","repos_url":"https://api.github.com/users/DevMatthias/repos","events_url":"https://api.github.com/users/DevMatthias/events{/privacy}","received_events_url":"https://api.github.com/users/DevMatthias/received_events","type":"User","site_admin":false},"labels":[{"id":166673288,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-Compilers","name":"Area-Compilers","color":"5319e7","default":false},{"id":166675914,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Resolution-By%20Design","name":"Resolution-By Design","color":"cccccc","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2018-02-12T17:20:26Z","updated_at":"2018-02-14T07:09:52Z","closed_at":"2018-02-14T07:09:52Z","author_association":"NONE","body":"**Version Used**:\r\n15.5.3\r\n\r\n**Steps to Reproduce**:\r\nThis code is in the context of a DiagnosticAnalyzer\r\n```\r\ncontext.RegisterCompilationStartAction(compilationContext =>\r\n   {\r\n\t   var assembly = compilationContext.Compilation.Assembly;\r\n\t   var typeNames = assembly.TypeNames;\r\n\t   var type = assembly.GetTypeByMetadataName(typeNames.First());\r\n   });\r\n```\r\n\r\n**Expected Behavior**:\r\nI'm trying  to get an INamedTypeSymbol from an assembly and I would expect that TypeNames is returning fully qualified names that can be used with GetTypeByMetadataName().\r\n\r\n**Actual Behavior**:\r\nTypeNames returns just plain type names (even doubles if the assembly contains a type twice in different namespaces) and GetTypeByMetadataName() returns always null because the name is not fully qualified.\r\n\r\nIf the behavior is by design I would be glad to hear another way to get the fully qualified name to use with GetTypeByMetadataName() later on. The example above is simplified and the type is in an referenced assembly and not in the currently analyzed code.\r\n"}}
{"actor":{"display_login":"jcouv"}}