@@ -1116,7 +1116,8 @@ public override bool HandleCall (MethodBody callingMethodBody, MethodReference c
11161116 reflectionContext . RecordHandledPattern ( ) ;
11171117 } else {
11181118 // Otherwise fall back to the bitfield requirements
1119- var requiredMemberTypes = GetDynamicallyAccessedMemberTypesFromBindingFlagsForConstructors ( bindingFlags ) ;
1119+ var requiredMemberTypes = HasBindingFlag ( bindingFlags , BindingFlags . Public ) ? DynamicallyAccessedMemberTypes . PublicConstructors : DynamicallyAccessedMemberTypes . None ;
1120+ requiredMemberTypes |= HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicConstructors : DynamicallyAccessedMemberTypes . None ;
11201121 // We can scope down the public constructors requirement if we know the number of parameters is 0
11211122 if ( requiredMemberTypes == DynamicallyAccessedMemberTypes . PublicConstructors && ctorParameterCount == 0 )
11221123 requiredMemberTypes = DynamicallyAccessedMemberTypes . PublicParameterlessConstructor ;
@@ -2431,33 +2432,27 @@ void ValidateGenericMethodInstantiation (
24312432
24322433 static DynamicallyAccessedMemberTypes GetDynamicallyAccessedMemberTypesFromBindingFlagsForNestedTypes ( BindingFlags ? bindingFlags ) =>
24332434 ( HasBindingFlag ( bindingFlags , BindingFlags . Public ) ? DynamicallyAccessedMemberTypes . PublicNestedTypes : DynamicallyAccessedMemberTypes . None ) |
2434- ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicNestedTypes : DynamicallyAccessedMemberTypes . None ) |
2435- ( BindingFlagsAreUnsupported ( bindingFlags ) ? DynamicallyAccessedMemberTypes . PublicNestedTypes | DynamicallyAccessedMemberTypes . NonPublicNestedTypes : DynamicallyAccessedMemberTypes . None ) ;
2435+ ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicNestedTypes : DynamicallyAccessedMemberTypes . None ) ;
24362436
24372437 static DynamicallyAccessedMemberTypes GetDynamicallyAccessedMemberTypesFromBindingFlagsForConstructors ( BindingFlags ? bindingFlags ) =>
24382438 ( HasBindingFlag ( bindingFlags , BindingFlags . Public ) ? DynamicallyAccessedMemberTypes . PublicConstructors : DynamicallyAccessedMemberTypes . None ) |
2439- ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicConstructors : DynamicallyAccessedMemberTypes . None ) |
2440- ( BindingFlagsAreUnsupported ( bindingFlags ) ? DynamicallyAccessedMemberTypes . PublicConstructors | DynamicallyAccessedMemberTypes . NonPublicConstructors : DynamicallyAccessedMemberTypes . None ) ;
2439+ ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicConstructors : DynamicallyAccessedMemberTypes . None ) ;
24412440
24422441 static DynamicallyAccessedMemberTypes GetDynamicallyAccessedMemberTypesFromBindingFlagsForMethods ( BindingFlags ? bindingFlags ) =>
24432442 ( HasBindingFlag ( bindingFlags , BindingFlags . Public ) ? DynamicallyAccessedMemberTypes . PublicMethods : DynamicallyAccessedMemberTypes . None ) |
2444- ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicMethods : DynamicallyAccessedMemberTypes . None ) |
2445- ( BindingFlagsAreUnsupported ( bindingFlags ) ? DynamicallyAccessedMemberTypes . PublicMethods | DynamicallyAccessedMemberTypes . NonPublicMethods : DynamicallyAccessedMemberTypes . None ) ;
2443+ ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicMethods : DynamicallyAccessedMemberTypes . None ) ;
24462444
24472445 static DynamicallyAccessedMemberTypes GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields ( BindingFlags ? bindingFlags ) =>
24482446 ( HasBindingFlag ( bindingFlags , BindingFlags . Public ) ? DynamicallyAccessedMemberTypes . PublicFields : DynamicallyAccessedMemberTypes . None ) |
2449- ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicFields : DynamicallyAccessedMemberTypes . None ) |
2450- ( BindingFlagsAreUnsupported ( bindingFlags ) ? DynamicallyAccessedMemberTypes . PublicFields | DynamicallyAccessedMemberTypes . NonPublicFields : DynamicallyAccessedMemberTypes . None ) ;
2447+ ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicFields : DynamicallyAccessedMemberTypes . None ) ;
24512448
24522449 static DynamicallyAccessedMemberTypes GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties ( BindingFlags ? bindingFlags ) =>
24532450 ( HasBindingFlag ( bindingFlags , BindingFlags . Public ) ? DynamicallyAccessedMemberTypes . PublicProperties : DynamicallyAccessedMemberTypes . None ) |
2454- ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicProperties : DynamicallyAccessedMemberTypes . None ) |
2455- ( BindingFlagsAreUnsupported ( bindingFlags ) ? DynamicallyAccessedMemberTypes . PublicProperties | DynamicallyAccessedMemberTypes . NonPublicProperties : DynamicallyAccessedMemberTypes . None ) ;
2451+ ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicProperties : DynamicallyAccessedMemberTypes . None ) ;
24562452
24572453 static DynamicallyAccessedMemberTypes GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents ( BindingFlags ? bindingFlags ) =>
24582454 ( HasBindingFlag ( bindingFlags , BindingFlags . Public ) ? DynamicallyAccessedMemberTypes . PublicEvents : DynamicallyAccessedMemberTypes . None ) |
2459- ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicEvents : DynamicallyAccessedMemberTypes . None ) |
2460- ( BindingFlagsAreUnsupported ( bindingFlags ) ? DynamicallyAccessedMemberTypes . PublicEvents | DynamicallyAccessedMemberTypes . NonPublicEvents : DynamicallyAccessedMemberTypes . None ) ;
2455+ ( HasBindingFlag ( bindingFlags , BindingFlags . NonPublic ) ? DynamicallyAccessedMemberTypes . NonPublicEvents : DynamicallyAccessedMemberTypes . None ) ;
24612456 static DynamicallyAccessedMemberTypes GetDynamicallyAccessedMemberTypesFromBindingFlagsForMembers ( BindingFlags ? bindingFlags ) =>
24622457 GetDynamicallyAccessedMemberTypesFromBindingFlagsForConstructors ( bindingFlags ) |
24632458 GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents ( bindingFlags ) |
0 commit comments