@@ -10,7 +10,7 @@ internal class CodeFix
10
10
{
11
11
private static readonly DiagnosticAnalyzer Analyzer = new GetXAnalyzer ( ) ;
12
12
private static readonly CodeFixProvider Fix = new BindingFlagsFix ( ) ;
13
- private static readonly ExpectedDiagnostic ExpectedDiagnostic = ExpectedDiagnostic . Create ( "REFL006" ) ;
13
+ private static readonly ExpectedDiagnostic ExpectedDiagnostic = ExpectedDiagnostic . Create ( REFL006RedundantBindingFlags . Descriptor ) ;
14
14
15
15
[ TestCase ( "Static" , "BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Instance" , "BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly" ) ]
16
16
[ TestCase ( "Static" , "BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.NonPublic" , "BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly" ) ]
@@ -173,5 +173,41 @@ private class Private
173
173
var message = $ "The binding flags can be more precise. Expected: { expected } .";
174
174
AnalyzerAssert . CodeFix ( Analyzer , Fix , ExpectedDiagnostic . WithMessage ( message ) , code , fixedCode ) ;
175
175
}
176
+
177
+ [ TestCase ( "GetConstructor(↓BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly, null, Type.EmptyTypes, null)" ) ]
178
+ [ TestCase ( "GetConstructor(↓BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy, null, Type.EmptyTypes, null)" ) ]
179
+ public void GetConstructor ( string call )
180
+ {
181
+ var code = @"
182
+ namespace RoslynSandbox
183
+ {
184
+ using System;
185
+ using System.Reflection;
186
+
187
+ class Foo
188
+ {
189
+ public Foo()
190
+ {
191
+ var member = typeof(Foo).GetConstructor(↓BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly, null, Type.EmptyTypes, null);
192
+ }
193
+ }
194
+ }" . AssertReplace ( "GetConstructor(↓BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly, null, Type.EmptyTypes, null)" , call ) ;
195
+ var fixedCode = @"
196
+ namespace RoslynSandbox
197
+ {
198
+ using System;
199
+ using System.Reflection;
200
+
201
+ class Foo
202
+ {
203
+ public Foo()
204
+ {
205
+ var member = typeof(Foo).GetConstructor(BindingFlags.Public | BindingFlags.Instance, null, Type.EmptyTypes, null);
206
+ }
207
+ }
208
+ }" ;
209
+ var message = "The binding flags can be more precise. Expected: BindingFlags.Public | BindingFlags.Instance." ;
210
+ AnalyzerAssert . CodeFix ( Analyzer , Fix , ExpectedDiagnostic . WithMessage ( message ) , code , fixedCode ) ;
211
+ }
176
212
}
177
213
}
0 commit comments