{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/18548","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/18548/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/18548/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/18548/events","html_url":"https://github.com/dotnet/roslyn/issues/18548","id":220362347,"number":18548,"title":"InConversion and OutConversion of VB ByRef argument exposes placeholder nodes as IOperations","user":{"login":"genlu","id":788783,"avatar_url":"https://avatars0.githubusercontent.com/u/788783?v=4","gravatar_id":"","url":"https://api.github.com/users/genlu","html_url":"https://github.com/genlu","followers_url":"https://api.github.com/users/genlu/followers","following_url":"https://api.github.com/users/genlu/following{/other_user}","gists_url":"https://api.github.com/users/genlu/gists{/gist_id}","starred_url":"https://api.github.com/users/genlu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/genlu/subscriptions","organizations_url":"https://api.github.com/users/genlu/orgs","repos_url":"https://api.github.com/users/genlu/repos","events_url":"https://api.github.com/users/genlu/events{/privacy}","received_events_url":"https://api.github.com/users/genlu/received_events","type":"User","site_admin":false},"labels":[{"id":166381314,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-Analyzers","name":"Area-Analyzers","color":"5319e7","default":false},{"id":166417835,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Concept-API","name":"Concept-API","color":"fef2c0","default":false},{"id":166377961,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Language-VB","name":"Language-VB","color":"207de5","default":false},{"id":328341992,"url":"https://api.github.com/repos/dotnet/roslyn/labels/New%20Feature%20-%20IOperation","name":"New Feature - IOperation","color":"bfd4f2","default":false},{"id":288645327,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Urgency-Soon","name":"Urgency-Soon","color":"eb6420","default":false}],"state":"open","locked":false,"assignee":{"login":"genlu","id":788783,"avatar_url":"https://avatars0.githubusercontent.com/u/788783?v=4","gravatar_id":"","url":"https://api.github.com/users/genlu","html_url":"https://github.com/genlu","followers_url":"https://api.github.com/users/genlu/followers","following_url":"https://api.github.com/users/genlu/following{/other_user}","gists_url":"https://api.github.com/users/genlu/gists{/gist_id}","starred_url":"https://api.github.com/users/genlu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/genlu/subscriptions","organizations_url":"https://api.github.com/users/genlu/orgs","repos_url":"https://api.github.com/users/genlu/repos","events_url":"https://api.github.com/users/genlu/events{/privacy}","received_events_url":"https://api.github.com/users/genlu/received_events","type":"User","site_admin":false},"assignees":[{"login":"genlu","id":788783,"avatar_url":"https://avatars0.githubusercontent.com/u/788783?v=4","gravatar_id":"","url":"https://api.github.com/users/genlu","html_url":"https://github.com/genlu","followers_url":"https://api.github.com/users/genlu/followers","following_url":"https://api.github.com/users/genlu/following{/other_user}","gists_url":"https://api.github.com/users/genlu/gists{/gist_id}","starred_url":"https://api.github.com/users/genlu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/genlu/subscriptions","organizations_url":"https://api.github.com/users/genlu/orgs","repos_url":"https://api.github.com/users/genlu/repos","events_url":"https://api.github.com/users/genlu/events{/privacy}","received_events_url":"https://api.github.com/users/genlu/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/roslyn/milestones/30","html_url":"https://github.com/dotnet/roslyn/milestone/30","labels_url":"https://api.github.com/repos/dotnet/roslyn/milestones/30/labels","id":2495537,"number":30,"title":"15.5","description":"","creator":{"login":"sharwell","id":1408396,"avatar_url":"https://avatars1.githubusercontent.com/u/1408396?v=4","gravatar_id":"","url":"https://api.github.com/users/sharwell","html_url":"https://github.com/sharwell","followers_url":"https://api.github.com/users/sharwell/followers","following_url":"https://api.github.com/users/sharwell/following{/other_user}","gists_url":"https://api.github.com/users/sharwell/gists{/gist_id}","starred_url":"https://api.github.com/users/sharwell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharwell/subscriptions","organizations_url":"https://api.github.com/users/sharwell/orgs","repos_url":"https://api.github.com/users/sharwell/repos","events_url":"https://api.github.com/users/sharwell/events{/privacy}","received_events_url":"https://api.github.com/users/sharwell/received_events","type":"User","site_admin":false},"open_issues":542,"closed_issues":274,"state":"open","created_at":"2017-05-02T17:12:16Z","updated_at":"2017-08-09T00:23:03Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2017-04-08T00:37:58Z","updated_at":"2017-08-09T01:15:17Z","closed_at":null,"body":"When passing a modifiable element as argument for a VB `ByRef` parameter, the `In/OutConversion`  properties of  the `IArgument` operation would expose placeholder nodes as `Operand` (as those properties themselves are of type `IConversionExpression`). \r\n\r\n```vb\r\nClass Program\r\n    Sub M1()\r\n        Dim x = 1.0\r\n        M2(x)\r\n    End Sub\r\n\r\n    Sub M2(ByRef a As Integer)\r\n    End Sub\r\nEnd Class\r\n```\r\n\r\n```\r\nIOperation tree for \"M2(x)\"\r\n\r\nIInvocationExpression ( Sub Program.M2(ByRef a As System.Int32)) (OperationKind.InvocationExpression, Type: System.Void) (Syntax: 'M2(x)')\r\n  Instance Receiver: IInstanceReferenceExpression (InstanceReferenceKind.Implicit) (OperationKind.InstanceReferenceExpression, Type: Program) (Syntax: 'M2')\r\n  Arguments(1): IArgument (ArgumentKind.Explicit Matching Parameter: a) (OperationKind.Argument) (Syntax: 'x')\r\n      ILocalReferenceExpression: x (OperationKind.LocalReferenceExpression, Type: System.Double) (Syntax: 'x')\r\n      InConversion: IConversionExpression (ConversionKind.Basic, Implicit) (OperationKind.ConversionExpression, Type: System.Int32) (Syntax: 'x')\r\n          IOperation:  (OperationKind.None) (Syntax: 'x')\r\n      OutConversion: IConversionExpression (ConversionKind.Basic, Implicit) (OperationKind.ConversionExpression, Type: System.Double) (Syntax: 'x')\r\n          IPlaceholderExpression (OperationKind.PlaceholderExpression, Type: System.Int32) (Syntax: 'x')\r\n```\r\n\r\nRelated: #8905"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/321124677","html_url":"https://github.com/dotnet/roslyn/issues/18548#issuecomment-321124677","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/18548","id":321124677,"user":{"login":"CyrusNajmabadi","id":4564579,"avatar_url":"https://avatars3.githubusercontent.com/u/4564579?v=4","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":"2017-08-09T01:15:17Z","updated_at":"2017-08-09T01:15:17Z","body":"Yes."}}
{"actor":{"display_login":"CyrusNajmabadi"}}