{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/184846303","pull_request_review_id":116128276,"id":184846303,"diff_hunk":"@@ -584,5 +589,1762 @@ void M()\n     }\n }\");\n         }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationInstanceMethod1()\n+        {\n+            await TestInRegularAndScriptAsync(\n+@\"\n+class C\n+{\n+    void M1()\n+    {\n+    }\n+    void M2()\n+    {\n+        int i=0;\n+        [|M1|](i);\n+    }\n+}\n+\",\n+@\"\n+class C\n+{\n+    void M1(int i)\n+    {\n+    }\n+    void M2()\n+    {\n+        int i=0;\n+        M1(i);\n+    }\n+}\n+\");\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationInheritedMethodGetFixed()\n+        {\n+            await TestInRegularAndScriptAsync(\n+@\"\n+class Base\n+{\n+    protected void M1()\n+    {\n+    }\n+}\n+class C1 : Base\n+{\n+    void M2()\n+    {\n+        int i = 0;\n+        [|M1|](i);\n+    }\n+}\",\n+@\"\n+class Base\n+{\n+    protected void M1(int i)\n+    {\n+    }\n+}\n+class C1 : Base\n+{\n+    void M2()\n+    {\n+        int i = 0;\n+        M1(i);\n+    }\n+}\");\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationInheritedMethodInMetadatGetsNotFixed()\n+        {\n+            await TestMissingAsync(\n+    @\"\n+class C1\n+{\n+    void M2()\n+    {\n+        int i = 0;\n+        [|GetHashCode|](i);\n+    }\n+}\");\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationLocalFunction()\n+        {\n+            await TestInRegularAndScriptAsync(\n+@\"\n+class C1\n+{\n+    void M1()\n+    {\n+        int Local() => 1;\n+        [|Local|](2);\n+    }\n+}\",\n+@\"\n+class C1\n+{\n+    void M1()\n+    {\n+        int Local(int v) => 1;\n+        Local(2);\n+    }\n+}\");\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        [Trait(\"TODO\", \"Fix broken\")]\n+        public async Task TestInvocationLambda1()\n+        {\n+            await TestMissingInRegularAndScriptAsync(\n+@\"\n+using System;\n+class C1\n+{\n+    void M1()\n+    {\n+        Action a = () => { };\n+        [|a|](2);\n+    }\n+}\");\n+            //Should be Action<int> a = (int v) => { };\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationStaticMethod()\n+        {\n+            await TestInRegularAndScriptAsync(\n+@\"\n+class C1\n+{\n+    static void M1()\n+    {\n+    }\n+    void M2()\n+    {\n+        [|M1|](1);\n+    }\n+}\",\n+@\"\n+class C1\n+{\n+    static void M1(int v)\n+    {\n+    }\n+    void M2()\n+    {\n+        M1(1);\n+    }\n+}\");\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationExtensionMethod()\n+        {\n+            var code =\n+@\"\n+namespace N {\n+static class Extensions\n+{\n+    public static void ExtensionM1(this object o)\n+    {\n+    }\n+}\n+class C1\n+{\n+    void M1()\n+    {\n+        new object().[|ExtensionM1|](1);\n+    }\n+}}\";\n+            var fix =\n+@\"\n+namespace N {\n+static class Extensions\n+{\n+    public static void ExtensionM1(this object o, int v)\n+    {\n+    }\n+}\n+class C1\n+{\n+    void M1()\n+    {\n+        new object().ExtensionM1(1);\n+    }\n+}}\";\n+            await TestInRegularAndScriptAsync(code, fix);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationExtensionMethod_StaticInvocationStyle()\n+        {\n+            // error CS1501: No overload for method 'ExtensionM1' takes 2 arguments\n+            var code =\n+@\"\n+namespace N {\n+static class Extensions\n+{\n+    public static void ExtensionM1(this object o)\n+    {\n+    }\n+}\n+class C1\n+{\n+    void M1()\n+    {\n+        Extensions.[|ExtensionM1|](new object(), 1);\n+    }\n+}}\";\n+            var fix =\n+@\"\n+namespace N {\n+static class Extensions\n+{\n+    public static void ExtensionM1(this object o, int v)\n+    {\n+    }\n+}\n+class C1\n+{\n+    void M1()\n+    {\n+        Extensions.ExtensionM1(new object(), 1);\n+    }\n+}}\";\n+            await TestInRegularAndScriptAsync(code, fix);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationOverride()\n+        {\n+            var code = @\"\n+class Base\n+{\n+    protected virtual void M1() { }\n+}\n+class C1 : Base\n+{\n+    protected override void M1() { }\n+    void M2()\n+    {\n+        [|M1|](1);\n+    }\n+}\";\n+            var fix_DeclarationOnly = @\"\n+class Base\n+{\n+    protected virtual void M1() { }\n+}\n+class C1 : Base\n+{\n+    protected override void M1(int v) { }\n+    void M2()\n+    {\n+        M1(1);\n+    }\n+}\";\n+            var fix_All = @\"\n+class Base\n+{\n+    protected virtual void M1(int v) { }\n+}\n+class C1 : Base\n+{\n+    protected override void M1(int v) { }\n+    void M2()\n+    {\n+        M1(1);\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix_DeclarationOnly, index: 0);\n+            await TestInRegularAndScriptAsync(code, fix_All, index: 1);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationExplicitInterface()\n+        {\n+            var code = @\"\n+interface I1\n+{\n+    void M1();\n+}\n+class C1 : I1\n+{\n+    void I1.M1() { }\n+    void M2()\n+    {\n+        ((I1)this).[|M1|](1);\n+    }\n+}\";\n+            var fix_DeclarationOnly = @\"\n+interface I1\n+{\n+    void M1(int v);\n+}\n+class C1 : I1\n+{\n+    void I1.M1() { }\n+    void M2()\n+    {\n+        ((I1)this).M1(1);\n+    }\n+}\";\n+            var fix_All = @\"\n+interface I1\n+{\n+    void M1(int v);\n+}\n+class C1 : I1\n+{\n+    void I1.M1(int v) { }\n+    void M2()\n+    {\n+        ((I1)this).M1(1);\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix_DeclarationOnly, index: 0);\n+            await TestInRegularAndScriptAsync(code, fix_All, index: 1);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationImplicitInterface()\n+        {\n+            var code =\n+@\"\n+interface I1\n+{\n+    void M1();\n+}\n+class C1 : I1\n+{\n+    public void M1() { }\n+    void M2()\n+    {\n+        [|M1|](1);\n+    }\n+}\";\n+            var fix_DeclarationOnly = @\"\n+interface I1\n+{\n+    void M1();\n+}\n+class C1 : I1\n+{\n+    public void M1(int v) { }\n+    void M2()\n+    {\n+        M1(1);\n+    }\n+}\";\n+            var fix_All = @\"\n+interface I1\n+{\n+    void M1(int v);\n+}\n+class C1 : I1\n+{\n+    public void M1(int v) { }\n+    void M2()\n+    {\n+        M1(1);\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix_DeclarationOnly, index: 0);\n+            await TestInRegularAndScriptAsync(code, fix_All, index: 1);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        [Trait(\"TODO\", \"Fix broken\")]\n+        public async Task TestInvocationGenericMethod()\n+        {\n+            await TestInRegularAndScriptAsync(\n+@\"\n+class C1\n+{\n+    void M1<T>(T arg) { }\n+    void M2()\n+    {\n+        [|M1|](1, 2);\n+    }\n+}\",\n+@\"\n+class C1\n+{\n+    void M1<T>(T arg, int v) { }\n+    void M2()\n+    {\n+        M1(1, 2);\n+    }\n+}\");\n+            //Should fix to: void M1<T>(T arg, T v) { }\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationRecursion()\n+        {\n+            await TestInRegularAndScriptAsync(\n+@\"\n+class C1\n+{\n+    void M1()\n+    {\n+        [|M1|](1);\n+    }\n+}\",\n+@\"\n+class C1\n+{\n+    void M1(int v)\n+    {\n+        M1(1);\n+    }\n+}\");\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationOverloads1()\n+        {\n+            var code =\n+@\"\n+class C1\n+{\n+    void M1(string s) { }\n+    void M1(int i) { }\n+    void M2()\n+    {\n+        [|M1|](1, 2);\n+    }\n+}\";\n+            var fix0 =\n+@\"\n+class C1\n+{\n+    void M1(string s) { }\n+    void M1(int i, int v) { }\n+    void M2()\n+    {\n+        M1(1, 2);\n+    }\n+}\";\n+            var fix1 =\n+@\"\n+class C1\n+{\n+    void M1(int v, string s) { }\n+    void M1(int i) { }\n+    void M2()\n+    {\n+        M1(1, 2);\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix0, 0);\n+            await TestInRegularAndScriptAsync(code, fix1, 1);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationOverloads2()\n+        {\n+            var code =\n+@\"\n+class C1\n+{\n+    void M1(string s1, string s2) { }\n+    void M1(string s) { }\n+    void M1(int i) { }\n+    void M2()\n+    {\n+        M1(1, [|2|]);\n+    }\n+}\";\n+            var fix0 =\n+@\"\n+class C1\n+{\n+    void M1(string s1, string s2) { }\n+    void M1(string s) { }\n+    void M1(int i, int v) { }\n+    void M2()\n+    {\n+        M1(1, 2);\n+    }\n+}\";\n+            var fix1 =\n+@\"\n+class C1\n+{\n+    void M1(string s1, string s2) { }\n+    void M1(int v, string s) { }\n+    void M1(int i) { }\n+    void M2()\n+    {\n+        M1(1, 2);\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix0, 0);\n+            await TestInRegularAndScriptAsync(code, fix1, 1);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationTuple1()\n+        {\n+            var code =\n+@\"\n+class C1\n+{\n+    void M1((int, int) t1)\n+    {\n+    }\n+    void M2()\n+    {\n+        [|M1|]((0, 0), (1, \"\"1\"\"));\n+    }\n+}\";\n+            var fix0 =\n+    @\"\n+class C1\n+{\n+    void M1((int, int) t1, (int, string) p)\n+    {\n+    }\n+    void M2()\n+    {\n+        M1((0, 0), (1, \"\"1\"\"));\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix0, 0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationTuple2()\n+        {\n+            var code =\n+@\"\n+class C1\n+{\n+    void M1((int, int) t1)\n+    {\n+    }\n+    void M2()\n+    {\n+        var tup = (1, \"\"1\"\");\n+        [|M1|]((0, 0), tup);\n+    }\n+}\";\n+            var fix0 =\n+    @\"\n+class C1\n+{\n+    void M1((int, int) t1, (int, string) tup)\n+    {\n+    }\n+    void M2()\n+    {\n+        var tup = (1, \"\"1\"\");\n+        M1((0, 0), tup);\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix0, 0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationTuple3()\n+        {\n+            var code =\n+@\"\n+class C1\n+{\n+    void M1((int, int) t1)\n+    {\n+    }\n+    void M2()\n+    {\n+        var tup = (i: 1, s: \"\"1\"\");\n+        [|M1|]((0, 0), tup);\n+    }\n+}\";\n+            var fix0 =\n+    @\"\n+class C1\n+{\n+    void M1((int, int) t1, (int i, string s) tup)\n+    {\n+    }\n+    void M2()\n+    {\n+        var tup = (i: 1, s: \"\"1\"\");\n+        M1((0, 0), tup);\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix0, 0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Missing_TypeArguments_AddingTypeArgumentAndParameter()\n+        {\n+            // error CS0305: Using the generic method 'C1.M1<T>(T)' requires 1 type arguments\n+            var code =\n+@\"\n+class C1\n+{\n+    void M1<T>(T i) { }\n+    void M2()\n+    {\n+        [|M1|]<int, bool>(1, true);\n+    }\n+}\";\n+            // Could be fixed as void M1<T, T1>(T i, T1 v) { }\n+            await TestMissingInRegularAndScriptAsync(code);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Missing_TypeArguments_AddingTypeArgument()\n+        {\n+            // error CS0308: The non-generic method 'C1.M1(int)' cannot be used with type arguments\n+            var code =\n+@\"\n+class C1\n+{\n+    void M1(int i) { }\n+    void M2()\n+    {\n+        [|M1<bool>|](1, true);\n+    }\n+}\";\n+            // Could be fixed as void M1<T>(int i, T v) { }\n+            await TestMissingInRegularAndScriptAsync(code);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        [Trait(\"TODO\", \"Fix missing\")]\n+        public async Task TestInvocation_Missing_ExplicitInterfaceImplementation()\n+        {\n+            // error CS0539: 'C1.M1(int)' in explicit interface declaration is not a member of interface\n+            var code =\n+@\"\n+interface I1\n+{\n+    void M1();\n+}\n+class C1 : I1\n+{\n+        void I1.M1() { }\n+        void I1.[|M1|](int i) { }\n+}\";\n+            // Could apply argument to interface method: void M1(int i);\n+            await TestMissingAsync(code);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_OverloadResolutionFailure()\n+        {\n+            // error CS1503: Argument 1: cannot convert from 'double' to 'int'\n+            var code =\n+@\"\n+    class C1\n+    {\n+        void M1(int i1, int i2) { }\n+        void M1(double d) { }\n+        void M2()\n+        {\n+            M1([|1.0|], 1);\n+        }\n+    }\n+\";\n+            var fix0 =\n+@\"\n+    class C1\n+    {\n+        void M1(int i1, int i2) { }\n+        void M1(double d, int v) { }\n+        void M2()\n+        {\n+            M1(1.0, 1);\n+        }\n+    }\n+\";\n+            await TestInRegularAndScriptAsync(code, fix0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_LambdaExpressionParameter()\n+        {\n+            // error CS1660: Cannot convert lambda expression to type 'int' because it is not a delegate type\n+            var code =\n+@\"\n+    class C1\n+    {\n+        void M1(int i1, int i2) { }\n+        void M1(System.Action a) { }\n+        void M2()\n+        {\n+            M1([|()=> { }|], 1);\n+        }\n+    }\n+\";\n+            var fix =\n+@\"\n+    class C1\n+    {\n+        void M1(int i1, int i2) { }\n+        void M1(System.Action a, int v) { }\n+        void M2()\n+        {\n+            M1(()=> { }, 1);\n+        }\n+    }\n+\";\n+            await TestInRegularAndScriptAsync(code, fix);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_NamedParameter()\n+        {\n+            // error CS1739: The best overload for 'M1' does not have a parameter named 'i2'\n+            var code =\n+@\"\n+    class C1\n+    {\n+        void M1(int i1) { }\n+        void M2()\n+        {\n+            M1([|i2|]: 1);\n+        }\n+    }\n+\";\n+            var fix =\n+@\"\n+    class C1\n+    {\n+        void M1(int i1, int i2) { }\n+        void M2()\n+        {\n+            M1(i2: 1);\n+        }\n+    }\n+\";\n+            await TestInRegularAndScriptAsync(code, fix);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationAddTypeParameter_AddTypeParameterIfUserSpecifiesOne_OnlyTypeArgument()\n+        {\n+            var code =\n+@\"\n+    class C1\n+    {\n+        void M1() { }\n+        void M2()\n+        {\n+            [|M1|]<bool>();\n+        }\n+    }\n+\";\n+            // Could be fixed as void M1<T>() { }\n+            await TestMissingInRegularAndScriptAsync(code);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocationAddTypeParameter_AddTypeParameterIfUserSpecifiesOne_TypeArgumentAndParameterArgument()\n+        {\n+            var code =\n+@\"\n+    class C1\n+    {\n+        void M1() { }\n+        void M2()\n+        {\n+            [|M1|]<bool>(true);\n+        }\n+    }\n+\";\n+            // Could be fixed to void M1<T>(T v) { }\n+            await TestMissingInRegularAndScriptAsync(code);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_ExisitingTypeArgumentIsNotGeneralized()\n+        {\n+            var code =\n+@\"\n+    class C1\n+    {\n+        void M1<T>(T v) { }\n+        void M2()\n+        {\n+            [|M1|](true, true);\n+        }\n+    }\n+\";\n+            var fix0 =\n+@\"\n+    class C1\n+    {\n+        void M1<T>(T v, bool v1) { }\n+        void M2()\n+        {\n+            M1(true, true);\n+        }\n+    }\n+\";\n+            await TestInRegularAndScriptAsync(code, fix0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_AddParameterToMethodWithParams()\n+        {\n+            // error CS1503: Argument 1: cannot convert from 'bool' to 'int'\n+            var code =\n+@\"\n+    class C1\n+    {\n+        static void M1(params int[] nums) { }\n+        static void M2()\n+        {\n+            M1([|true|], 4);\n+        }\n+    }\n+\";\n+            var fix0 =\n+@\"\n+    class C1\n+    {\n+        static void M1(bool v, params int[] nums) { }\n+        static void M2()\n+        {\n+            M1(true, 4);\n+        }\n+    }\n+\";\n+            await TestInRegularAndScriptAsync(code, fix0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Cascading_FixingVirtualFixesOverrideToo()\n+        {\n+            // error CS1501: No overload for method 'M1' takes 1 arguments\n+            var code =\n+@\"\n+    class BaseClass\n+    {\n+        protected virtual void M1() { }\n+    }\n+    class Derived1: BaseClass\n+    {\n+        protected override void M1() { }\n+    }\n+    class Test: BaseClass\n+    {\n+        void M2() \n+        {\n+            [|M1|](1);\n+        }\n+    }\n+\";\n+            var fix_DeclarationOnly =\n+@\"\n+    class BaseClass\n+    {\n+        protected virtual void M1(int v) { }\n+    }\n+    class Derived1: BaseClass\n+    {\n+        protected override void M1() { }\n+    }\n+    class Test: BaseClass\n+    {\n+        void M2() \n+        {\n+            M1(1);\n+        }\n+    }\n+\";\n+            var fix_All =\n+@\"\n+    class BaseClass\n+    {\n+        protected virtual void M1(int v) { }\n+    }\n+    class Derived1: BaseClass\n+    {\n+        protected override void M1(int v) { }\n+    }\n+    class Test: BaseClass\n+    {\n+        void M2() \n+        {\n+            M1(1);\n+        }\n+    }\n+\";\n+            await TestInRegularAndScriptAsync(code, fix_DeclarationOnly, index: 0);\n+            await TestInRegularAndScriptAsync(code, fix_All, index: 1);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Cascading_PartialMethods()\n+        {\n+            var code =\n+@\"\n+<Workspace>\n+    <Project Language=\"\"C#\"\" AssemblyName=\"\"Assembly1\"\" CommonReferences=\"\"true\"\">\n+        <Document>\n+namespace N1\n+{\n+    partial class C1\n+    {\n+        partial void PartialM();\n+    }\n+}\n+        </Document>\n+        <Document>\n+namespace N1\n+{\n+    partial class C1\n+    {\n+        partial void PartialM() { }\n+        void M1()\n+        {\n+            [|PartialM|](1);\n+        }\n+    }\n+}\n+        </Document>\n+    </Project>\n+</Workspace>\";\n+            var fix0 =\n+@\"\n+<Workspace>\n+    <Project Language=\"\"C#\"\" AssemblyName=\"\"Assembly1\"\" CommonReferences=\"\"true\"\">\n+        <Document>\n+namespace N1\n+{\n+    partial class C1\n+    {\n+        partial void PartialM(int v);\n+    }\n+}\n+        </Document>\n+        <Document>\n+namespace N1\n+{\n+    partial class C1\n+    {\n+        partial void PartialM(int v) { }\n+        void M1()\n+        {\n+            PartialM(1);\n+        }\n+    }\n+}\n+        </Document>\n+    </Project>\n+</Workspace>\";\n+            await TestInRegularAndScriptAsync(code, fix0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Cascading_PartialMethodsInSameDocument()\n+        {\n+            var code =\n+@\"\n+namespace N1\n+{\n+    partial class C1\n+    {\n+        partial void PartialM();\n+    }\n+    partial class C1\n+    {\n+        partial void PartialM() { }\n+        void M1()\n+        {\n+            [|PartialM|](1);\n+        }\n+    }\n+}\";\n+            var fix0 =\n+@\"\n+namespace N1\n+{\n+    partial class C1\n+    {\n+        partial void PartialM(int v);\n+    }\n+    partial class C1\n+    {\n+        partial void PartialM(int v) { }\n+        void M1()\n+        {\n+            PartialM(1);\n+        }\n+    }\n+}\";\n+            await TestInRegularAndScriptAsync(code, fix0);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Cascading_BaseNotInSource()\n+        {\n+            // error CS1501: No overload for method 'M' takes 1 arguments\n+            var code =\n+@\"\n+<Workspace>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\">\n+        <MetadataReferenceFromSource Language=\"\"C#\"\" CommonReferences=\"\"true\"\">\n+            <Document FilePath=\"\"ReferencedDocument\"\">\n+namespace N\n+{\n+    public class BaseClass\n+    {\n+        public virtual void M() { }\n+    }\n+}\n+            </Document>\n+        </MetadataReferenceFromSource>\n+        <Document FilePath=\"\"TestDocument\"\">\n+namespace N\n+{\n+    public class Derived: BaseClass\n+    {\n+        public void M2()\n+        {\n+            [|M|](1);\n+        }\n+    }\n+}\n+        </Document>\n+    </Project>\n+</Workspace>\";\n+            await TestMissingAsync(code);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Cascading_RootNotInSource()\n+        {\n+            // error CS1501: No overload for method 'M' takes 1 arguments\n+            var code =\n+@\"\n+<Workspace>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\">\n+        <MetadataReferenceFromSource Language=\"\"C#\"\" CommonReferences=\"\"true\"\">\n+            <Document FilePath=\"\"ReferencedDocument\"\">\n+namespace N\n+{\n+    public class BaseClass\n+    {\n+        public virtual void M() { }\n+    }\n+}\n+            </Document>\n+        </MetadataReferenceFromSource>\n+        <Document FilePath=\"\"TestDocument\"\">\n+namespace N\n+{\n+    public class Derived: BaseClass\n+    {\n+        public override void M() { }\n+    }\n+    public class DerivedDerived: Derived\n+    {\n+        public void M2()\n+        {\n+            [|M|](1);\n+        }\n+    }\n+}\n+        </Document>\n+    </Project>\n+</Workspace>\";\n+            var fixedDocumentWithoutConflictAnnotation = @\"\n+namespace N\n+{\n+    public class Derived: BaseClass\n+    {\n+        public override void M(int v) { }\n+    }\n+    public class DerivedDerived: Derived\n+    {\n+        public void M2()\n+        {\n+            M(1);\n+        }\n+    }\n+}\n+        \";\n+            var fixedDocumentWithConflictAnnotation = @\"\n+namespace N\n+{\n+    public class Derived: BaseClass\n+    {\n+        public override void M({|Conflict:int v|}) { }\n+    }\n+    public class DerivedDerived: Derived\n+    {\n+        public void M2()\n+        {\n+            M(1);\n+        }\n+    }\n+}\n+        \";\n+            await TestInRegularAndScriptAsync(code, fixedDocumentWithoutConflictAnnotation, index: 0);\n+            await TestInRegularAndScriptAsync(code, fixedDocumentWithConflictAnnotation, index: 1);\n+        }\n+\n+        [WorkItem(21446, \"https://github.com/dotnet/roslyn/issues/21446\")]\n+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]\n+        public async Task TestInvocation_Cascading_ManyReferencesInManyProjects()\n+        {\n+            // error CS1501: No overload for method 'M' takes 1 arguments\n+            var code =\n+@\"\n+<Workspace>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\" AssemblyName=\"\"A1\"\">\n+        <Document FilePath=\"\"ReferencedDocument\"\">\n+namespace N\n+{\n+    public class BaseClass\n+    {\n+        public virtual void M() { }\n+    }\n+}\n+        </Document>\n+    </Project>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\"  AssemblyName=\"\"A2\"\">\n+        <ProjectReference>A1</ProjectReference>\n+        <Document>\n+namespace N\n+{\n+    public class Derived1: BaseClass\n+    {\n+        public override void M() { }\n+    }\n+}\n+        </Document>\n+    </Project>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\"  AssemblyName=\"\"A3\"\">\n+        <ProjectReference>A1</ProjectReference>\n+        <Document>\n+namespace N\n+{\n+    public class Derived2: BaseClass\n+    {\n+        public override void M() { }\n+    }\n+}\n+        </Document>\n+    </Project>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\"  AssemblyName=\"\"A4\"\">\n+        <ProjectReference>A3</ProjectReference>\n+        <Document>\n+namespace N\n+{\n+    public class T\n+    {\n+        public void Test() { \n+            new Derived2().[|M|](1);\n+        }\n+    }\n+}\n+        </Document>\n+    </Project>\n+</Workspace>\";\n+            var fix_All =\n+@\"\n+<Workspace>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\" AssemblyName=\"\"A1\"\">\n+        <Document FilePath=\"\"ReferencedDocument\"\">\n+namespace N\n+{\n+    public class BaseClass\n+    {\n+        public virtual void M(int v) { }\n+    }\n+}\n+        </Document>\n+    </Project>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\"  AssemblyName=\"\"A2\"\">\n+        <ProjectReference>A1</ProjectReference>\n+        <Document>\n+namespace N\n+{\n+    public class Derived1: BaseClass\n+    {\n+        public override void M(int v) { }\n+    }\n+}\n+        </Document>\n+    </Project>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\"  AssemblyName=\"\"A3\"\">\n+        <ProjectReference>A1</ProjectReference>\n+        <Document>\n+namespace N\n+{\n+    public class Derived2: BaseClass\n+    {\n+        public override void M(int v) { }\n+    }\n+}\n+        </Document>\n+    </Project>\n+    <Project Language=\"\"C#\"\" CommonReferences=\"\"true\"\"  AssemblyName=\"\"A4\"\">\n+        <ProjectReference>A3</ProjectReference>\n+        <Document>\n+namespace N\n+{\n+    public class T\n+    {\n+        public void Test() { \n+            new Derived2().M(1);\n+        }\n+    }\n+}\n+        </Document>\n+    </Project>\n+</Workspace>\";\n+            await TestInRegularAndScriptAsync(code, fix_All, index: 1);","path":"src/EditorFeatures/CSharpTest/AddParameter/AddParameterTests.cs","position":1275,"original_position":1275,"commit_id":"83fc47acf9ca81cf7b183aada4314ea01118131c","original_commit_id":"83fc47acf9ca81cf7b183aada4314ea01118131c","user":{"login":"heejaechang","id":1333179,"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":"this is all decls, how about references?","created_at":"2018-04-28T08:58:15Z","updated_at":"2018-04-28T08:58:16Z","html_url":"https://github.com/dotnet/roslyn/pull/22314#discussion_r184846303","pull_request_url":"https://api.github.com/repos/dotnet/roslyn/pulls/22314","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/184846303"},"html":{"href":"https://github.com/dotnet/roslyn/pull/22314#discussion_r184846303"},"pull_request":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/22314"}},"in_reply_to_id":184846277},"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/22314","id":142860406,"html_url":"https://github.com/dotnet/roslyn/pull/22314","diff_url":"https://github.com/dotnet/roslyn/pull/22314.diff","patch_url":"https://github.com/dotnet/roslyn/pull/22314.patch","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/22314","number":22314,"state":"open","locked":false,"title":"AddParameterCodeFixProvider: Add support for method invocations.","user":{"login":"MaStr11","id":24472128,"avatar_url":"https://avatars1.githubusercontent.com/u/24472128?v=4","gravatar_id":"","url":"https://api.github.com/users/MaStr11","html_url":"https://github.com/MaStr11","followers_url":"https://api.github.com/users/MaStr11/followers","following_url":"https://api.github.com/users/MaStr11/following{/other_user}","gists_url":"https://api.github.com/users/MaStr11/gists{/gist_id}","starred_url":"https://api.github.com/users/MaStr11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaStr11/subscriptions","organizations_url":"https://api.github.com/users/MaStr11/orgs","repos_url":"https://api.github.com/users/MaStr11/repos","events_url":"https://api.github.com/users/MaStr11/events{/privacy}","received_events_url":"https://api.github.com/users/MaStr11/received_events","type":"User","site_admin":false},"body":"**Customer scenario**\r\n\r\nFixes #21446.\r\nFollow up to #17082.\r\n\r\nThis PR is expands the `AddPrarameterCodefixProvider` to also support method invocations.\r\n\r\n**Bugs this fixes:**\r\n\r\nFixes #21446.\r\nFollow up to #17082.\r\n\r\n**Workarounds, if any**\r\n\r\nNone.\r\n\r\n**Risk**\r\n\r\nCode refactoring might break user code.\r\n\r\n**Performance impact**\r\n\r\nLow. The analyzer is already shipped and this only increases the number of supported diagnostics.\r\n\r\n**Is this a regression from a previous update?**\r\n\r\n#17082 intentionally left method invocation out, because of the lots of complicated cases.\r\n\r\n**Root cause analysis:**\r\n\r\nWas intended for future improvement.\r\n\r\n**How was the bug found?**\r\n\r\nCustomer reported. #21446\r\n\r\n**Test documentation updated?**\r\n\r\nNo.","created_at":"2017-09-25T11:43:58Z","updated_at":"2018-04-28T08:58:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5e61ed4ae6fabd68f2ca29fd557cccda82e52207","assignee":{"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},"assignees":[{"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}],"requested_reviewers":[],"requested_teams":[{"name":"roslyn-ide","id":1781706,"slug":"roslyn-ide","description":"Roslyn IDE Team","privacy":"closed","url":"https://api.github.com/teams/1781706","members_url":"https://api.github.com/teams/1781706/members{/member}","repositories_url":"https://api.github.com/teams/1781706/repos","permission":"pull"}],"labels":[{"id":166377917,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-IDE","name":"Area-IDE","color":"5319e7","default":false},{"id":288147422,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Community","name":"Community","color":"0e8a16","default":false},{"id":197452922,"url":"https://api.github.com/repos/dotnet/roslyn/labels/cla-already-signed","name":"cla-already-signed","color":"FFFFFF","default":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/roslyn/milestones/33","html_url":"https://github.com/dotnet/roslyn/milestone/33","labels_url":"https://api.github.com/repos/dotnet/roslyn/milestones/33/labels","id":3020805,"number":33,"title":"15.8","description":null,"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":310,"closed_issues":128,"state":"open","created_at":"2018-01-08T19:35:57Z","updated_at":"2018-04-28T04:29:57Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/dotnet/roslyn/pulls/22314/commits","review_comments_url":"https://api.github.com/repos/dotnet/roslyn/pulls/22314/comments","review_comment_url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/22314/comments","statuses_url":"https://api.github.com/repos/dotnet/roslyn/statuses/83fc47acf9ca81cf7b183aada4314ea01118131c","head":{"label":"MaStr11:AddParameterCodeFixForMethod","ref":"AddParameterCodeFixForMethod","sha":"83fc47acf9ca81cf7b183aada4314ea01118131c","user":{"login":"MaStr11","id":24472128,"avatar_url":"https://avatars1.githubusercontent.com/u/24472128?v=4","gravatar_id":"","url":"https://api.github.com/users/MaStr11","html_url":"https://github.com/MaStr11","followers_url":"https://api.github.com/users/MaStr11/followers","following_url":"https://api.github.com/users/MaStr11/following{/other_user}","gists_url":"https://api.github.com/users/MaStr11/gists{/gist_id}","starred_url":"https://api.github.com/users/MaStr11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaStr11/subscriptions","organizations_url":"https://api.github.com/users/MaStr11/orgs","repos_url":"https://api.github.com/users/MaStr11/repos","events_url":"https://api.github.com/users/MaStr11/events{/privacy}","received_events_url":"https://api.github.com/users/MaStr11/received_events","type":"User","site_admin":false},"repo":{"id":91674975,"name":"roslyn","full_name":"MaStr11/roslyn","owner":{"login":"MaStr11","id":24472128,"avatar_url":"https://avatars1.githubusercontent.com/u/24472128?v=4","gravatar_id":"","url":"https://api.github.com/users/MaStr11","html_url":"https://github.com/MaStr11","followers_url":"https://api.github.com/users/MaStr11/followers","following_url":"https://api.github.com/users/MaStr11/following{/other_user}","gists_url":"https://api.github.com/users/MaStr11/gists{/gist_id}","starred_url":"https://api.github.com/users/MaStr11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaStr11/subscriptions","organizations_url":"https://api.github.com/users/MaStr11/orgs","repos_url":"https://api.github.com/users/MaStr11/repos","events_url":"https://api.github.com/users/MaStr11/events{/privacy}","received_events_url":"https://api.github.com/users/MaStr11/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MaStr11/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/MaStr11/roslyn","forks_url":"https://api.github.com/repos/MaStr11/roslyn/forks","keys_url":"https://api.github.com/repos/MaStr11/roslyn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MaStr11/roslyn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MaStr11/roslyn/teams","hooks_url":"https://api.github.com/repos/MaStr11/roslyn/hooks","issue_events_url":"https://api.github.com/repos/MaStr11/roslyn/issues/events{/number}","events_url":"https://api.github.com/repos/MaStr11/roslyn/events","assignees_url":"https://api.github.com/repos/MaStr11/roslyn/assignees{/user}","branches_url":"https://api.github.com/repos/MaStr11/roslyn/branches{/branch}","tags_url":"https://api.github.com/repos/MaStr11/roslyn/tags","blobs_url":"https://api.github.com/repos/MaStr11/roslyn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MaStr11/roslyn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MaStr11/roslyn/git/refs{/sha}","trees_url":"https://api.github.com/repos/MaStr11/roslyn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MaStr11/roslyn/statuses/{sha}","languages_url":"https://api.github.com/repos/MaStr11/roslyn/languages","stargazers_url":"https://api.github.com/repos/MaStr11/roslyn/stargazers","contributors_url":"https://api.github.com/repos/MaStr11/roslyn/contributors","subscribers_url":"https://api.github.com/repos/MaStr11/roslyn/subscribers","subscription_url":"https://api.github.com/repos/MaStr11/roslyn/subscription","commits_url":"https://api.github.com/repos/MaStr11/roslyn/commits{/sha}","git_commits_url":"https://api.github.com/repos/MaStr11/roslyn/git/commits{/sha}","comments_url":"https://api.github.com/repos/MaStr11/roslyn/comments{/number}","issue_comment_url":"https://api.github.com/repos/MaStr11/roslyn/issues/comments{/number}","contents_url":"https://api.github.com/repos/MaStr11/roslyn/contents/{+path}","compare_url":"https://api.github.com/repos/MaStr11/roslyn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MaStr11/roslyn/merges","archive_url":"https://api.github.com/repos/MaStr11/roslyn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MaStr11/roslyn/downloads","issues_url":"https://api.github.com/repos/MaStr11/roslyn/issues{/number}","pulls_url":"https://api.github.com/repos/MaStr11/roslyn/pulls{/number}","milestones_url":"https://api.github.com/repos/MaStr11/roslyn/milestones{/number}","notifications_url":"https://api.github.com/repos/MaStr11/roslyn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MaStr11/roslyn/labels{/name}","releases_url":"https://api.github.com/repos/MaStr11/roslyn/releases{/id}","deployments_url":"https://api.github.com/repos/MaStr11/roslyn/deployments","created_at":"2017-05-18T09:29:48Z","updated_at":"2018-03-24T15:32:15Z","pushed_at":"2018-04-04T14:47:04Z","git_url":"git://github.com/MaStr11/roslyn.git","ssh_url":"git@github.com:MaStr11/roslyn.git","clone_url":"https://github.com/MaStr11/roslyn.git","svn_url":"https://github.com/MaStr11/roslyn","homepage":"","size":306718,"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":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"a68d6322f9ac75b2c3627d33f6c5d757e363f39d","user":{"login":"dotnet","id":9141961,"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,"name":"roslyn","full_name":"dotnet/roslyn","owner":{"login":"dotnet","id":9141961,"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},"private":false,"html_url":"https://github.com/dotnet/roslyn","description":"The .NET Compiler Platform (\"Roslyn\") provides open-source C# and Visual Basic compilers 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-04-28T08:00:09Z","pushed_at":"2018-04-28T07:14:42Z","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":"","size":357787,"stargazers_count":9225,"watchers_count":9225,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2199,"mirror_url":null,"archived":false,"open_issues_count":4624,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":2199,"open_issues":4624,"watchers":9225,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/22314"},"html":{"href":"https://github.com/dotnet/roslyn/pull/22314"},"issue":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/22314"},"comments":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/22314/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/22314/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/22314/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/roslyn/statuses/83fc47acf9ca81cf7b183aada4314ea01118131c"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"heejaechang"}}