1 // Licensed to the .NET Foundation under one or more agreements. 2 // The .NET Foundation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using Internal.TypeSystem; 6 7 namespace ILCompiler 8 { 9 /// <summary> 10 /// Represents a metadata blocking policy. A metadata blocking policy decides what types or members are never 11 /// eligible to have their metadata generated into the executable. 12 /// </summary> 13 public abstract class MetadataBlockingPolicy 14 { 15 /// <summary> 16 /// Returns true if type definition '<paramref name="type"/>' is reflection blocked. 17 /// </summary> IsBlocked(MetadataType type)18 public abstract bool IsBlocked(MetadataType type); 19 20 /// <summary> 21 /// Returns true if method definition '<paramref name="method"/>' is reflection blocked. 22 /// </summary> IsBlocked(MethodDesc method)23 public abstract bool IsBlocked(MethodDesc method); 24 25 /// <summary> 26 /// Returns true if field definition '<paramref name="field"/>' is reflection blocked. 27 /// </summary> IsBlocked(FieldDesc field)28 public abstract bool IsBlocked(FieldDesc field); 29 } 30 } 31